To pick a rather extreme example, consider COBOL. COBOL is also not dead (I know people who make a living writing COBOL) but it is a tool which no young programmer wants to learn, unless they have a very specific personality or the money is really, really good.
If you don't mind the fact that the talent pool is reportedly shrinking and the price of finding talent is reportedly rising, then you're right: Perl works as well as ever. (And much better than COBOL, of course. Perl will need another thirty to fifty years to reach COBOL's current stage. It's still quite pervasive, especially in its niche.) But if you pine for the glory days of 1995, when exciting new developments in computing were being constructed primarily in your language, you will want to learn a language other than Perl. Or, if you anticipate the need to expand your operation from two or three talented coders to twenty or thirty, you might need a language other than Perl.
(...which is gradually being rewritten in C, I know.)
It does appear that the signal-to-noise ratio in the talent pool declines over time, for just about any popular programming language (other than C, possibly).
This is exactly the sort of FUD the article seemed to be targeted at. Perl is, currently, a more powerful language than Python or Ruby in several areas.
I happen to like all three languages, and have written significant code in Python, but the Perl community is still very active and doing interesting things (as the increase in contributions to CPAN indicates). It's just a more mature community. When someone, say, writes an SMTP server in Perl, they don't freak the fuck out and post a hyperbolic blog post about how freakin' awesome it (and they) are...they merely upload it to CPAN, where it joins the dozen other projects that do the same thing in different ways. If you consider all of the catching up that's happening in the Ruby and Python worlds to be "exciting new developments"--like mature testing frameworks, coverage reporting, library packaging and management, deployment tools, Apache modules, etc.--then, yes, you'd want to be working in a language that doesn't already have excellent implementations of all of those things.
Of course, if the Perl community were content with what they currently have, and weren't always pushing forward with newer/better ways to do things, it would be just as bad. But, Moose, as the obvious (but not only) example, should make clear that that's not the case.
"Perl will need another thirty to fifty years to reach COBOL's current stage."
I hope you'll remember this in two years. If it still seems likely to come true after Perl 6, I'll buy you a beer.
I guess I wasn't clear enough, because I agree with that, and it is in fact what I was trying to get at with my FUD-worthy sentence. Perhaps I should have put "Exciting New Developments" in silly caps to emphasize that I was talking about hype. If you want to work in a language that still has significant hype, and enjoys having hype, and doesn't try to make you feel dirty for practicing hype, you need to learn a language other than Perl. Until Perl 6 comes out, at any rate.
Your post does little to convince me that I'm wrong about that. :)
Personally, I like a little hype in my life. I tend to agree with Bruce Sterling:
http://www.viridiandesign.org/2006/03/viridian-note-00459-em...
Hype is a system-call on your attention. If hype is clearly aimed straight at your wallet, you are right to worry. But hype is only bad for you if you drink it unthinkingly, by the barrel and case. If you soberly track its development, hype is very revealing. Even mistaken and obscurantist hype shows that people are stupid and trying to hide something, which are always good things to know.
In politics, the opposite of hype is political reality. Political hype is BS, it's a campaign speech, it's meant to deceive the listener. But in technology, the opposite of hype is not the truth. The opposite of hype in technology is argot. It's techno-jargon. Argot is not reality, jargon is not the truth. Argot is a super-specialized geek cult language that has no traction in the real world. Argot is the deliberately hermetic language of a small knowledge clique.
I do not doubt that Perl programmers are very smart, and that they are constantly pushing the state of the art. I also do not doubt that Perl code runs the world while other languages are frivolously reinventing new and sillier forms of the wheel. (How can I? I wrote a bunch of Perl code that is currently helping to run a factory. There is every danger that this Perl code, though not a sterling example of its genre, will outlive me. I have a healthy respect for Perl's usefulness.)
But I'm not convinced the language is reaching a lot of new blood. And that's an important task -- perhaps the most important task. They say that every trick in software was invented by a Lisp programmer before I was born, and they may be right. But, to the extent that this is true, that means that there is relatively little to gain right now by making languages "more powerful". The real win is to make powerful languages more clear and ubiquitous, and to teach them to more people. And reaching people requires clarity, pedagogy... and hype. You need to make a system call on their attention.
Quite right. I misinterpreted your prior post. Sounds like we agree, though I'm curmudgeonly enough to think that much of the hype around some projects and developers is laughable. The flavor of the week right now is Ruby, and a few functional languages, but it happens everywhere.
In a lot of cases, projects are being celebrated for being fumbling, and often baroque, attempts to solve problems that are already well-understood by developers in other languages...and all they have to do to solve it equally well in their own language is to pull their head out of their self-congratulating ass long enough to see how it's been done before, learn from it, and maybe even improve upon it a little bit.
Nonetheless, I must concur that hype is very effective...and probably mandatory for the survival of a language. Tcl is probably an excellent example of a pretty cool language, with a previously huge community, dwindling over time due to lack of enthusiastic new proponents.