Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Second Age of Perl (perl.org)
57 points by icey on May 26, 2010 | hide | past | favorite | 36 comments


Pretty interesting is the TIOBE language index.. scroll down to the graph to see some decline over the last years. http://www.tiobe.com/index.php/content/paperinfo/tpci/index....

Perl was overtaken by C# and Python in the last 2 years, for example.

I think it will be around for a lot of years, but in the end.. "it's dying" describes the trend pretty much. Ada, Cobol, etc. are all still used and you can earn quite some money when you know them, but i really wouldn't call them "alive".

A lot of programs and scripts are written in perl, and even new scripts (if i look at my company). But slowly all those handy scripts will be overtaken by the "new" programmers that didn't start with perl but with ruby, python, php and such.

From personal experience: Many employees at my company still use perl, basically because they don't want to learn a new language and started with perl, but all the new employees (like me) avoid it where they can and try to "migrate" the company to other languages. The perl scripts written today will probably be around for the next 5 years, but the next time they'll be in another language.

At least i look forward for those scripts dying, because they regularly give me major headaches when trying to fix scripts written by someone else 2-5 years ago. From all i do (that includes a lot of scripts) touching those perl scripts is easily the most painful thing to do. I've wasted countless hours on those "things" where i should've been productive.


TIOBE is crap. See Tim Bunce's analysis of TIOBE (http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-...) for details.

Why do people keep quoting TIOBE like it means something?


Nahh, only because it's counting on google hits, it doesn't mean it's worthless. Look at sourceforge.net and compare perl and pythons numbers (2700 vs 4200). And that's where i thought there may be much more perl projects on sf.net since sf.net is quite old and may have a lot of abandoned projects.

It's also in conjunction with my own experience. There may be more job offerings that mention perl (because of decades of legacy scripts) but in general nearly every job interview we've had or every student working for us didn't know perl. Especially for students: You don't learn Perl (thank god!!) but C, Java, Python, Haskell.


Nahh, only because it's counting on google hits, it doesn't mean it's worthless

If that were true then you would see quite different results!

Look at sourceforge.net and compare perl and pythons numbers (2700 vs 4200)

Sourceforge (http://sourceforge.net/softwaremap) shows Perl & Python with 8905 and 12,149 respectively. Certainly interesting to see that C# has even more opensource projects on there than both Perl & Python with 12,192 :)

Still no good looking at one repo site without comparing with some of the others for a fuller picture. Here are some other figures I just browsed for:

Freshmeat:

  * Perl   3898 - http://freshmeat.net/tags/perl
  * Python 3526 - http://freshmeat.net/tags/python
Github: (http://github.com/languages)

  * Perl  13%
  * Python 9%
When it comes to site statistics, always take them with a pinch of salt when you try to imply meaning outside of their context!


The huge rise in Objective-C's popularity isn't natural; it's only a result of Apple basically forcing all software targeting its popular mobile platforms to be written in Objective-C.

Maybe the Perl community just needs to trick Apple into making Perl the default language for iPhone and iPad development. It's marketshare will shoot through the roof overnight.


I loved and openly defended Perl for years. Contrary to popular belief, I still believe that you can write large, maintainable systems in Perl. It's just that I think that you could write those same systems better in other languages.

I no longer recommend Perl as a first language to learn: I think Ruby and Python are better choices.

I no longer recommend Perl to experienced programmers: Clojure and Erlang have more to offer to the Java or C++ expert.

Perl was very important and useful for a while, but at it's root, it's a kludgy, annoying language, full of bad design choices.

I believe Perl has had it's day.


As a language to write large systems in, I agree, but I still haven't found a better shell-script-replacement language. Perl as a somewhat cleaned up superset of bash/sed/awk/grep still seems better to me than the alternatives--- when I try to write those kinds of scripts in, say, Python, it ends up feeling clunky and verbose.


General-purpose languages that are "born" successfully (manage to gain a wide following) have a very hard time "dying" in the sense that everyone talks about. New lines of code will be written for 30+ years after a formerly successful language becomes functionally obsolete.

Perl already dead in the sense that it is no longer a "cool" language, and as such there aren't going to be many passionate programmers picking it up.

Once a language has lost the ability to recruit talented and passionate programmers, innovation dies soon thereafter. Perl may have new modules, but I'm not sure many of them can be called innovative- most of it is just "Me too!" kind of work.


Once a language has lost the ability to recruit talented and passionate programmers, innovation dies soon thereafter

Probably very true. However I see a lots of new talented & passionate Perl programmers appearing at Perl meetings, on the blogospshere and with many new code/CPAN modules. So your statement doesn't apply to Perl.

Perl may have new modules, but I'm not sure many of them can be called innovative

CPAN is having a "purple patch" over last few years. Lots of new and innovative stuff have appeared and I see no reason for this not to continue


The main problem with Perl seems to be the incessant trolling, because it fills the same niche at some other language(s) with lots of fanatics.

And Perl culture just don't have traditions of that kind of negative time waste.

The good thing to come from that is Perl Iron Man blogging, instead of the traditional mailing lists/PerlMonks.


If the author is correct that developing in Perl is very different today, the logical thing would be to bump the major release number.

But they can't because everyone already knows what Perl 6 is (and most people have very negative perceptions of that). It would have been better to call that project Perl 3000 or give it some code name. But it's too late.

I suggest calling the next release of Perl 5, Perl 7. If Perl 6 ever gets to 1.0, it can be Perl 8.

(half serious)


Perl 5's major release number recently went from 10 to 12.


"but the Second Age isn't just about code. It's also the marketing efforts"

Part of those efforts seem to be daily HN reminders that Perl isn't dead.


As soon as you have to start reminding people that X really isn't dead it's as good as dead.

Perl isn't there yet, but the level of fanaticism with which the proponents claim that it isn't dead yet has definitely been on the rise.

A language that isn't dead attracts new users without such noises. If you say 'x isn't dead' you automatically sow doubt about 'x'. Best to show great examples in 'x' than saying 'x' isn't dead.


I Agree.

However on the flip side if you keep hearing noises that "x is dead" then that is more of wish (from the noise makers) rather than the reality!


how many time have you heard someone saying BSD is not dead!

Do you think the folks working an using (say) OpenBSD care. Compared to Linux OpenBSD is a lot less usable, yet the passionate coders behind it still offered us PF, OpenSSH, OpenBGPD

How popular do you need to be, to be undead?


Perl makes me happy every day.


Perl isn't dying it's just becoming less relevant. In, say, 5 years Perl won't have the luster it once did, it'll be lumped in the same bucket as vbscript, batch files, and maybe even COBOL. It'll be considered less well and less interesting than PHP.

I like Perl, I think it's a solid language, but it's become stagnant amidst a huge degree of innovation. It's an even more stagnant language than Java at this point, and that's a serious cause for concern. All of the serious problems with Perl programming remain, and are becoming ever more relevant as innovation in other languages sharpens the contrast.

Perl has always had a very fundamental problem with naturally facilitating high code quality, average developers with average skills find it easy to create unreadable, unmaintainable, sluggish code in Perl. But so long as there were good hackers out there in the Perl ecosystem there's been enough good Perl code out there to counter-balance that. It takes a lot of experience and discipline to write good Perl code, but there's been no shortage of people with those qualities and an interest in Perl in the past. But now, there are greener pastures for talented hackers. As the best Perl hackers evaporate away off to concentrate on newer languages and technologies only the dregs will remain. Without exceptional hackers innovating within the language the lack of innovation of the language will become more apparent. Increasingly the bulk of Perl code being written will be mundane and uninspiring, written by talentless hacks who fall into every trap the Perl language has made for them (and there are many). A language is ultimately judged by the work in it, and increasingly that work will push the perception of Perl farther down the ladder.

In many ways death might be preferable.


If you'd hit the 'reply' button seven years ago, you might have more reality to back up your assertions, but now you're just plain wrong.

In, say, 5 years Perl won't have the luster it once did

I like Perl, I think it's a solid language, but it's become stagnant amidst a huge degree of innovation.

As the best Perl hackers evaporate away off to concentrate on newer languages and technologies only the dregs will remain. Without exceptional hackers innovating within the language the lack of innovation of the language will become more apparent.

Perl's been on an upward trajectory for years now. The language and ecosystem has steadily taken on features from Perl 6 and beyond, most notably the Moose object system (which could totally beat up your favorite language's object system in a fight). And the best Perl hackers don't seem to have gone anywhere.

(And come on, you clearly don't like Perl, so it's disingenuous to say you do.)


I've already head this conversation at http://news.ycombinator.com/item?id=1377077 about Moose. Moose is good, but it's not that good, and certainly not nearly enough to make up for the terrible language underpinning it.


Moose is good, but it's not that good

I think its "good enough" to tempt people to use Perl.


What language is not terrible?


J

Scourges weakling humans, lets me write code like a stack of paperclips.


OMG!!! I actually maintain J code!! There are, like, 10 of us in the whole universe.

I think more people speak Quileute than still use J (http://en.wikipedia.org/wiki/Quileute_language)... for good reason ...


Since you don't seem to consider the best OO system around a part of the language, I assume you are a functional fanatic?


Perl's been on an upward trajectory for years now

I have significant doubts about that (I speak as someone who did perl programming for years).

the best Perl hackers don't seem to have gone anywhere

Depends on who you consider to be the best, but a lot of them have gone to Ruby, Haskell, Clojure, and other more modern languages. Perl had its day. That day was the 1990s and early 2000s.


Where have I heard this before?

http://prlmnks.org/html/501131.html [2005] http://www.perlmonks.com/?node_id=561229 [2006]

...other places...we've all heard predictions of doom...

I agree with the sentiment against perl as a language, but we need to all move on from this "perl is dying" and "perl is becoming less relevant" meme. Unfortunately, there is no solid evidence to support it, not five years ago, not four years ago, and not today. Time to beat a different dead horse (the comments, not perl).

Seems every programming blogger looking to get some extra publicity has to cut his teeth with the same non-issue tripe about perl. I rarely see this with other languages that become popular and then unpopular, and it makes the ridiculousness of the remarks that much more poignant: people are blowing steam to get noticed. It is less fashionable to educate people into why regular expressions and hashes are not always the best tools for a job and more fashionable to whine about it.


  Unfortunately, there is no solid evidence to support it,
  not five years ago, not four years ago, and not today
Yeah, all cool startups choose perl as their language of choice (it has CGI.pm, not to mention the whole CPAN), PragProgs are releasing a ton of Perl books each year and bored hackers implement Perl in JS, just because. Of course Perl is not going anywhere anytime soon. But it is not interesting, attractive and sexy any more — just another legacy language with huge amount of code written. As good as dead.


Is C as good as dead, too, given your rockstar measures?

Seriously, I read plenty of vitriol about perl and PHP, and it turns out that in the real world people ARE continuing to use it. It may not be the latest hotness, but it has a stable following in many communities.

So enough of the cool kids act; let's stop spouting this regurgitated "it's dead" BS. It is a nonissue. It is just hot air blowing in an echo chamber, mixed with pseudointellectual semantic arguments. I would rather see "This is a cool new language that blah and blah" than "people are producing less books about their language".

On another note, for crying out loud, how many books does it take to tell you what $$ means? I think I read somewhere about someone's advice for getting employers to notice you: write a book. Sure, we need yet another book that says what the last 20 said.


By your standards, Ruby, Python, C, C++, Java, and C# are "as good as dead".


Java — maybe getting close. Others — no. Ruby and Python (including RoR and Django of course) are quite popular for new projects. C/C++ will always be there and let's not forget LLVM adding more interest.


They should be. I like Ruby, Python, and C but you can't help but be jealous of more robust platforms such as Erlang. We'd do well to stop inventing more of the same crap and actually advancing the state of the art. C isn't going anywhere nor do I think it should, but it should be used only when nothing else will do.

Since about version 3 C# has gotten interesting. Still, even the new interesting bits are rehashed ideas from the 70s and 80s. I guess it's interesting to see them in a mainstream language from Redmond; the features themselves are pretty mundane if you have experience with more dynamic and/or functional systems.

Factor is one of the only truly unique and excellent new languages. Clojure has good ideas too but I'm not sold on the JVM.


Just unfounded opinions.


Please let's not talk about Perl anymore. Let's just make it fall into oblivion.

Perl and C++ are the programming languages I always recommend you avoid, if you value your time. I've wasted my time to become proficient with both, I hope you don't waste yours.


So long as Perl is useful, I will continue to use it. It is still useful, and so I continue to use it.

Perhaps for hacking up a fancy program it is a poor choice, but that's not what I use it for. For me, Perl is a step above bash when it comes to scripting. You can throw other languages at me all you like, but in my experience it manages the task perfectly well, and is second only to bash itself in terms of spread on Linux machines. Python is the only possible alternative, and I have not yet seen a need to switch nor been convinced Python is nearly as universal (plus the Python runtime itself tends to give me more trouble)


Doom! Doooom!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: