ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I been looking at the three languages (PERL, ruby and python).
I read about the languages at their sites but I didn't get a clear picture of the differences between the three languages.
Which language is worth learning and why?
What are the differences???
thanks.
(Not LISP but PERL) sorry
Last edited by nesrail; 01-21-2009 at 07:31 PM.
Reason: Not LISP but PERL
I been looking at the three languages (PERL, ruby and python).
I read about the languages at their sites but I didn't get a clear picture of the differences between the three languages.
Which language is worth learning and why?
What are the differences???
I don't use python or ruby. I do use Perl. I'm not sure that's something I should brag about.
One big advantage of Perl is that there are many, many different ways of doing something. This means that you get to pick the way that makes most sense to you.
One big disadvantage of Perl is that there are many, many different ways of doing something. This means that if you are hired to maintain someone else's Perl scripts, you have to learn not only the ways of doing things that appeal to you, but all the other ways as well.
All three are worth learning. To list the differences between them would be a pedagogical act born in futility. Like the Matrix, you cannot simply be told the differences between what it is like to work in different languages, you have to experience it yourself. Kinda like you could read a book on programming in X but until you actually write X code it's not very useful. So in short you'll have to learn all three to get the most out of it.
I learned them in the order of Perl, then Python, then Ruby. I have no idea if that's "good" or not. Lexicographic seems as helpful as any other order.
All three are worth learning. To list the differences between them would be a pedagogical act born in futility. Like the Matrix, you cannot simply be told the differences between what it is like to work in different languages, you have to experience it yourself. Kinda like you could read a book on programming in X but until you actually write X code it's not very useful. So in short you'll have to learn all three to get the most out of it.
I learned them in the order of Perl, then Python, then Ruby. I have no idea if that's "good" or not. Lexicographic seems as helpful as any other order.
AFAIK Ruby is both slower and cleaner - the latter WRT OO.
Depends on your needs and personal preferences. I suggest to do some stuff in Perl and Python and developing your own taste.
The strength of Perl is: CPAN, well developed Unicode support, excellent and extensive and very well written documentation, security, speed and "the Perl culture" of "There's more than one way to do it" around it.
Many people see Perl's way of doing object oriented programming as its weakness, hate the Perl syntax and consider it cluttered and difficult to read and dislike "the Perl culture" around it - especially the "there's more than one way to do it". As Perl 6 isn't entirely finished yet, some people think of Perl as "outdated", "old-fashioned" or "obsolete".
Those people usally prefer Ruby or Python due to their object orientation and a more strict programming culture of "This is the proper way to do X" and consider Ruby and especially Python the more "clean" programming languages.
Python has a handful of very nice toolkits and library collections (natural language toolkit or twisted for example) and as far as I know the better Qt-support compared to Perl.
I still prefer Perl over Ruby or Python - I simply never had any need or occurence to use Ruby or Python extensively instead of Perl and I hate not having something like CPAN and I'm totally in love with upcoming Perl 6 - after that, I'm going have even less occasion to consider Python and Ruby as an alternative.
I second that vote! I got all intrigued when I saw the title for this thread.
I find Perl a bit...messy. Just my personal opinion; not intended as flame bait. I used to program in Perl, but then I switched over to (Common) Lisp for my needs and haven't looked back.
Ruby and Python never really cut it for me - they're both neat languages, they just don't leave much to the imagination (especially in Python's motto: there's only one way to do it). Both would make great beginner languages - a hell of a lot better than the QBASIC I was taught in high-school - but I would like to think that I have moved past the point of easy-to-learn, commonplace languages.
I been looking at the three languages (PERL, ruby and python).
I read about the languages at their sites but I didn't get a clear picture of the differences between the three languages.
Which language is worth learning and why?
What are the differences???
thanks.
(Not LISP but PERL) sorry
In the grand scope all languages can do the same things at some level.
I think the biggest deciding factor would be what do you want to do with the language? Are you looking at doing things at the prompt? Are you making web apps? Do you plan on working with some kind of application framework? Are you looking for rapid application development? Are you interested in a strict language or a more free form language? etc, etc, etc.
For general usage across everything, I'd give the hat to perl. In general its the most mature of the 3 languages.
However, if I were designing a web application within a framework I'd serious be looking at ruby so I could later work with rails easily.
Is there something in LISP which can't be done in Perl ?
I do not know LISP, but I know Perl borrowed some features from LISP.
No. That being said, a key point to remember is this... *anything* can be done in *any* programming language. It's just a matter of complexity. There are things you can do in lisp easily that are more complex to do in Perl, sometimes because they're not native to the language, sometimes because they're just a pain in the backside.
Programming languages are not defined by what you can do in them specifically, but rather by what they let you do *easily*.
Is there something in LISP which can't be done in Perl ?
I do not know LISP, but I know Perl borrowed some features from LISP.
Macros. But the main thing about the LISP family of languages is their elegance. Not everybody appreciates that, but some do, and their life is transformed.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.