Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: I want you to convince me to learn Perl

by hippo (Deacon)
on Sep 25, 2013 at 09:20 UTC ( #1055638=note: print w/ replies, xml ) Need Help??

in reply to I want you to convince me to learn Perl

everyone else thinks I should learn Python. It is cleaner, more directly readable, has built-in OO, is more popular, and has a new version already in use.

I am not a pythoner. I've never learned it. However, my knowledge of other languages, especially Perl, has allowed me on occasion to hack some 3rd party python code with some success. Your (or perhaps your correspondents') criteria listed above for advocating python over Perl do need to be debunked.

  1. It isn't immediately clear what you mean by cleaner - maybe it's the syntax, maybe it is the minimalism of the language itself, maybe it is that it does not pollute the rest of the O/S, who can say? Whatever, it sounds very subjective. The only way for you to know which is really cleaner (for whatever your definition of "cleaner" is) would be to try both a see which floats your boat.
  2. I have found Perl to be a very readable language, at least for a native English speaker such as I am. Many of the perlvars are mnemonic, most of the built-ins are English words and lots (although not all) of the syntactic sugar is C-like. Conversely the python which I have read has been difficult, mostly because of the significant whitespace instead of closing braces, etc.
  3. What on earth made you think perl doesn't have built-in OO? Genuinely curious here, as a simple google search for perl OO turns up about six million results. Perl is equally happy as a procedural, object-orientated or functional language.
  4. Ah, popularity, how shall I measure thee? Let me count the ways. Or did you mean populist? Or in vogue? And, when push comes to shove, what does popularity matter compared to getting the job done (and done well and quickly and maintainably)?
  5. When is a version a "new" version and when is it not? Current version of perl is 5.18 released on the 18th of May this year. Current version of python is 3.3.2 released on the 15th of May (ie. 3 days older). Furthermore, Perl is stable with excellent backwards compatibility to 5.10 and a large chunk of today's code will run quite happily on 5.6, which is over 13 years old now.

I'm sure that there are many good reasons to learn python. There may even be some good reasons to learn python in preference to Perl, but your stated ones are either subjective or easily dismissed.

Learn Perl. It's a steep curve. As others have said you have a big head start because of sed and awk and C. Perl brings the best of all of those together and a whole heap of magic of its own. I haven't looked back and nor, I suspect, will you. Good luck.

Comment on Re: I want you to convince me to learn Perl

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1055638]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (11)
As of 2014-07-25 07:57 GMT
Find Nodes?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:

    Results (169 votes), past polls