http://qs1969.pair.com?node_id=411178


in reply to Another prediction of Perl's demise

I recently went 9 months unemployed. Without having actually kept records, I'd say that upwards of 80% of web programming jobs I saw listed for San Francisco or the East Bay were evenly split between Java and MSFT technologies. PHP was most of what's left -- probably half again as many listings wanted PHP than wanted Perl. I only recall seeing Python mentioned once.

We have lost a lot of mindshare to PHP. PHP has some advantages for small or medium web apps one intends for wide distribution, due to ease of installation over a mod_perl app.

But I recently evaluated PHP as a candidate for a large project at work, and I really can't understand why anyone would choose PHP for a large project... It has a global namespace for functions, giving rise to an expectation that you should manually prefix every function name with its module name, and leaving you to hope for the best that everyone did the same if you use more than one third party module. It has three thousand built-in functions, with wildly inconsistent naming schemes, and inputs and outputs, guaranteeing a trip to the manual to do anything. It has a large dependence on global variables.

One of the things that strikes me about PHP is that lots of the criticisms of Perl are a hundred times more true about PHP. The core language is bloated and tries to do too much, it's inconsistent, it's impossible to know the whole language, it lends itself to poor practices...

I think PHP's a classic example of worse is better. It has a lower barrier of entry than anything else (well, except probably ASP, but I haven't used that) for someone wanting to start doing web programming. It did something lots of people really wanted, that seemed much harder in other languages. So it spread like kudzu until, today, there are large web companies doing their development in PHP. I think we're going to see a lot of buyer's remorse in 3-4 years when they've had to maintain these.

Something that does worry me, though, is that there are people who will never even try Perl because they've heard so much FUD about how ugly it is, or how it's write-only code that's impossible to read or maintain, or how it's wildly inconsistent. Sadly, some of those people no doubt should be Perl programmers by temperament, and might never know it.

I think we could really use more visible Perl applications, to implicitly convey the message of how useful Perl is. I'm not convinced Perl couldn't fall into decline. I think countering the FUD and changing the perception of Perl that exists among much of the non-Perl programming world is needed to avoid that. Perl 6 and Parrot should help a lot in that regard (though some of Perl 6's choices, like the unicode operators, are going to make for awfully easy cheap shots.)