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.)

  • Comment on Re: Another prediction of Perl's demise

Replies are listed 'Best First'.
Re^2: Another prediction of Perl's demise
by bradcathey (Prior) on Dec 01, 2004 at 13:26 UTC

    Zed_Lopez, thanks for the thoughtful real-world overview of the languages being used out there, at least in your very practical experience.

    As a person who is in the "branding" business by trade, your post got me to thinking about the possibilities of branding Perl. Branding is more than logos (camels in this case). In short, branding is the sum total of all the perceptions one's audience has about the branded entity. Unfortunately, the FUD of which you speak is part of Perl's brand. On the positive side there is CPAN, Perl's unique features (name spaces), and, of course, the Monastery;^)

    Branding takes lots of resources, both in time and money. We can all do our job, as I think most Monasterians are inclined to, by using good coding practices, talking up the virtues of the language, refining it make it more approachable or friendly, addressing or deprecating it's weaknesses, and writing applications that gain more universal notoriety (imagine a PerlMyAdmin gui or PerlBB Forums).

    We all know that intrinsically Perl is a great language, but for some reason it doesn't feel as handy to the larger audience of Web programmers (my arena) as PHP. Who is to blame....or get the credit for that? I reach for Perl everytime because I have a good grasp of it and it feels familiar. What can be done to bring PHP (or ASP or JSP) coders to that same point? Where has the Perl community let the opportunity slip away, and what can be done to regain the edge?

    In summary, doesn't sound like a language problem as much as a perception problem. What can we all do to change that? Rhetorical, but worth pondering.


    —Brad
    "Don't ever take a fence down until you know the reason it was put up." G. K. Chesterton

      I think we need better installation processes for both web apps (including mod_perl apps) and other apps, where better = easy for not especially technical people to use.

      And where possible, we should, politely, and with specific technical points, call others on their BS about Perl (like I'm doing here where a Python programmer smugly pronounced he recreated Quantum::Superpositions in 100 lines of code... apparently without even realizing that he left out the hardest part.)

      Heh. I was just going to take my own advice and leave a comment on some annoying inaccuracies in a PHP vs. Perl weblog entry by a PHPer (which is one of Google's top ten responses for 'PHP vs Perl'), but the site's gone 404 (the link's via the Wayback Machine.) That's a damn shame.

      And, of course, we need Perl 6, which cleans up a lot of Perl 5's syntax, gotchas, and, frankly, lame OOP support.

Re^2: Another prediction of Perl's demise
by apotheon (Deacon) on Dec 01, 2004 at 08:32 UTC

    I could potentially have been one of those people using PHP that would never realize he should have been a Perl programmer. I was using (and still use) PHP for website development (mostly for inline conditionals to manage content includes, actually). It took my Linux conversion to open my eyes to the Wonders That Are Perl, and now here I am.

    Thank goodness for a properly designed OS and a great system administration language to go with it.

    - apotheon
    CopyWrite Chad Perrin