Learning Perl the Hard Way
greenteapress.com
greenteapress.com
http://www.indeed.com/jobtrends?q=perl%2C+python%2C+ruby&...
Python and Ruby aren't nearly as popular as Perl. CPAN, Perl's repository of libraries, is gigantic, having most everything you can think of already in it; which makes writing new programs much, much easier.
As much as Ruby and Python fanboys love to beat up on Perl, their favorite languages have their uglyness and their own faults (which you'll rarely hear them mention). However, their propaganda really has worked on a lot of people that really don't know any better. So my impression is that a lot of the newer stuff is being written for Ruby and Python. So it would probably pay to learn them for that, if nothing else. But I would definitely think twice before choosing them instead of Perl.
Once upon a time (five years ago or so) I did Perl professionally. At first I bought into the CPAN hype -- everything's there! Any library you'll ever need has already been written and is in the CPAN! -- but after actually using it for a while, I learned that Sturgeon's Law has no exceptions. There were so many packages which were broken, uninstallable, non-functional or nearly undocumented that trying to use stuff from CPAN could end up involving more time than just writing from scratch.
When, one day, I encountered documentation for one project which listed all its dependencies, and then gave a long list of things it needed which were in CPAN but in such broken states that CPAN couldn't actually be used to install them (and an even longer list of instructions for how to manually install and work through the bugs), I started looking for something else.
Look, when you've got a large enough library of third-party contributions, some portion of them will be broken. And the more libraries people use to build their own libraries, the more dependencies there'll be.
Let me know when some other languages manage to solve these problems, or when the upstart languages actually get enough third party libraries for them to have to start facing this problem themselves.
That in no way implies any of the statements you're attempting to shove into my mouth, however, so perhaps you should step back a bit and reconsider what you're saying?
How many DateTime modules are there? Which one is really used by everyone the last few years -- and when should you use the previous one?
CPAN is, afaik, better than anything else out there.
You can get a job at craig's list. Which... from what I've heard, is a really good job.
In five or ten years there'll be some other language fad, and those languages will get their turn at being the whipping boy.
Maybe Perl wouldn't make for the ideal first language, but it's certainly not nearly as difficult as assembly, certain functional languages, or even C/C++.
I don't know about that. I think a large reason for the fan boys' FUD against Perl is that the three languages are quite similar. Competition.
Edit: What I mean is, the coming new languages will probably be quite different and fill different ecological niches.
You can make a good argument that today with Moose/CPAN etc, Perl 5 is hard-to-beat as a development environment. The main disadvantage IMHO is that it is a lot to learn.
I really don't know what good can be said about PHP though, which is eating all three's lunch. (-: What was Larry Wall's quote? "Takes worse is better to new depths". :-)
http://www.indeed.com/jobtrends?q=perl%2C+python%2C+ruby%2C+...
Or... maybe there's a kernel of truth in it? Yes, all languages have weird gotchas and corner cases. But there are times when Perl seems to go out of its way to have as many as it can manage, which turns the process of learning Perl into a long campaign of trial-and-error experiments and rote memorization.
It's sort of like trying to find a consistent pattern in the naming of PHP's built-in functions, except it applies to the entire language.
The Perl Best Practices book is needed for all teams (it saves on long discussions; "this page list what we do different to PBP").