4 ms·
I love Perl, but its essential problem at this point is that it's lost momentum. After over 7 years of waiting for Perl 6, a huge gulf has developed between th
by shimon 18y ago
I love Perl, but its essential problem at this point is that it's lost momentum. After over 7 years of waiting for Perl 6, a huge gulf has developed between the people who can influence language development and new users. In this time, other language communities have taken great steps to attract new users, and in many cases they've been pulling in more former Perl hackers than converted Java/C++/etc folks. In web apps, Rails and Django are king for a reason; they're excellent libraries that are well-documented and easy to choose because of broad support in the language's community. Perl's Catalyst is workable (I've used it) but is tricky to install and configure, has inferior docs, and a thinner set of libraries. And it isn't what all your friends are doing.
It might be narrowminded to blame Perl 6's schedule slippage (and the general shakeup in Perl leadership and Larry Wall's struggle with cancer) for the broader community decline. But there was a time when, say in web apps, Perl was the default choice. That default started to change when some smart hackers wrote some terrific libraries in Ruby and Python, and broad segments of the hacker world started to agree on roughly what features they expected in a web framework. I'm not sure why those hackers didn't choose Perl, but if I had to pick exactly one thing, it would be Perl's awkward handling of references, a skill that might have been easily picked up by C hackers but seems exceedingly arcane to those reared on Java.
- kingkongrevenge 18y agoI think your assertion of community decline is baseless. It probably hasn't grown as have others, but it's not in decline. It's also a fairly nice and quiet place to get things done without a riot of newbie noise.
- jrockway 18y agoThis isn't really true. Ever read Perlmonks? There are tons of newbies. The IRC channels are the same way.
- gaius 18y agoPerl was never the "default choice" for web apps on its merit as a language tho'. At the time (I was there) on a typical large institutional or corporate Unix box you had C/C++/FORTRAN compilers for the engineers to use and Perl installed by the sysadmins for their own use, and that was pretty much it for languages. Getting a whole new language installed for a project that wasn't even "official" was a non-starter. The path of least resistance was to use Perl for CGIs. If Unix sysadmins had been into REXX instead, then that would have been the default choice. Now that most Unixes ship with several scripting languages installed already, people are free(r) to choose. Perl was simply in the right place at the right time.
- mr_excellent 18y agoYes, these days, people are free to choose. However, after trying the alternatives, I think Perl is still a winner. I spent some time (maybe 6 months) with Python recently. The first few weeks you're amazed at how uniform and regular everything is. It's so simple! But then after you've gotten used to Python, it starts to wear on you that there's no shortcuts for things that you do n times / day. And it's not just that Perl saves you typing, it's that Perl doesn't annoy experienced programmers by making them do every single thing the uniform (and longer) way over and over. Another thing is naming. There are various clumsily-named things in Python. For example, "dictionary"? It's a hash. "Tuple"? I don't blame Guido, because I don't believe he's a native speaker of the rat's nest we call the English language, but it almost appears that some things are named different from the Perl-equivalents just to be different. Anyway, what you find after having used both Python and Perl is that Perl really does have that smooth well-worn "I use this every day and it fits like a glove" feel, and a lot of that has to do with well-chosen names for things, and operators that look like what they do.
- arockwell 18y agoThe awkward handling of references is exactly why I stopped using Perl. The way they worked never clicked with me and caused me to spend too much time fighting the language. I'm much happier with Python/Ruby.
- jrockway 18y agoI love Perl, but its essential problem at this point is that it's lost momentum. No, that's just false. In the last year, we've gotten a new major release of Perl, with many, many new features. (See the perl510delta man page for details.) On the CPAN, we've seen 1000s of new libraries released. We have a new object system, called Moose, which is probably one of the best object systems of any language. The Perl conferences have been seeing record attendance. Basically, Perl is stronger than ever. We just spend our time programming instead of talking about ourselves incessantly, declaring other languages dead, winning awards for being 'the most attractive hacker', or covering up security holes.
- shimon 18y agoInteresting points. It could well be my professional frame of reference that's shifting. Maybe a historical analysis of job listings would give a less biased take?