Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

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


In reply to Re: Another prediction of Perl's demise by Zed_Lopez
in thread Another prediction of Perl's demise by bradcathey

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (3)
As of 2024-04-17 05:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found