Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Saying PHP is "pretty awful" without actually talking about any specific issues with it is just the kind of thing I mean. It adds nothing useful to the discussion and creates an environment of insults and flame wars. If you want to talk about things that bother you in PHP, go ahead, but you'll get better results if you do it in a way that's less insulting and more constructive.

    Maybe my attitude about this comes partly from going to conferences and meeting the developers who work on these things. There ar
    • I sat on this comment for a couple of days because I didn’t know quite where to start with the response.

      1. Would you object if I called bash a pretty awful programming language? Do I really have to list all the specific problems that make it unfit for a very large domain of problems, every time I want to say it’s unfit for them? Assuming you wouldn’t: why is bash fair game but PHP sancrosanct?

      2. My motivation is not to fix PHP. It is plenty successful despite all the naysayers anyway, but even assuming the PHP developers ever found any credible reason to listen to me (I don’t see any, nor did I ever claim they should do so), and started making the language more like how I think it should be, the result would inevitably have very little in common with PHP as we know it.

      I know there are people behind these projects. I generally don’t attack developers; I hope they are mature enough to be able to tell critcism of their work apart from criticism of their person.

      But in the case of PHP specifically, I have multiple anecdotes that lead me to doubt the competence of the team at hand.

      • For one thing, there’s the hair-raisingly bizarre “fix” to a security problem [perl.org].

      • There’s also the whole sordid story [securityfocus.com] surrounding Stefan Esser in general [hardened-php.net].

      • There’s the fact that they changed the pass-by-reference semantics in a pointrelease (replacing one flawed semantic with another, no less).

      • There’s the fact that they introduced the === operator to address the lack of an object identity comparison, except that the semantics of === are completely worthless for the purpose. (The problem it does address should, in my opinion, have been addressed the way Perl does it: have multiple comparison operators each imposing a particular type on its operands; specific example of how PHP would look nothing like PHP if anyone had reason to listen to me.)

      That’s just off the top of my head.

      We haven’t really gotten into criticisms of the language proper yet. What annoys me most about that are the APIs:

      • I tried to do some image processing, and couldn’t find a way to write my code tidily because the API is so misshapen.

      • I tried to process zip archives and couldn’t find a way to do it efficiently and with tidy code because the API is stupidly limited.

      • I tried to bolt a minor feature onto PHP Markdown but gave up because I couldn’t find a way to do it concisely and efficiently: there is no way to capture part of a match when you do a substitution.

      • Every PEAR package I’ve seen promptly follows the terrible example of the builtin library.

      That’s just off the top of my head.

      Are you really suggesting that I have to rattle off this entire list every time I want to say “PHP is awful”?


      • I know there are people behind these projects. I generally don’t attack developers; I hope they are mature enough to be able to tell critcism of their work apart from criticism of their person.

        I've never met a developer who wouldn't be upset by someone calling their code awful.

        But in the case of PHP specifically, I have multiple anecdotes

        Good. Those sound much more reasonable than a blanket statement.

        Saying something really general like "PHP is pretty awful" looks like denial of the things that are g
        • I guess this comes to down to a difference in points of view.

          I assume, on principle, that my code is generally awful… :-) Sometimes I know it’s not, in which case someone else’s calling it awful just makes me shrug; unless I know it’s a sharp programmer in which case I ask. (Even then I’d be hard pressed to ever use an epithet like “beautiful” – the best thing I have to say about any particularly good piece of code I wrote is that it’s “simple