5 ms·
"Despite its popularity, PHP is considered by the programming elite, almost without exception, as one of the worst languages currently in use today" I would sa
by nir 16y ago
"Despite its popularity, PHP is considered by the programming elite, almost without exception, as one of the worst languages currently in use today"
I would say, the blogging-about-programming elite, rather than the actual programming elite. I haven't coded PHP in years, but some of the most brilliant devs I know use it when it fits the task.
- injekt 16y agoI kind of agree. But I still find 90% of extremely talented programmers breath a sigh of relief when they find they're not having to use PHP. Even for web development. PHP was great a few years ago, and by great I mean "one of the only options". PHP is active on every shared web host around. It's the norm. Only recently have the likes of Ruby and Python become popular on shared hosts. Personally I think that's fantastic.
- nir 16y agoAlso, AWS/Heroku/GAE give you non-shared-hosting ways to deploy. Still, another tool in the box.
- pavs 16y ago63.5% of stats are made up on the spot.
- davidwparker 16y agoHe did say "But I still find 90% of..." as opposed to "90% of..." making it an opinion, not a pure statistic. edit: that's not to say he didn't make up the statistic for his opinion.
- derefr 16y agoPHP is a programming language (that is, a formal grammar for specifying the operations a computer should perform), but also an implementation of an interpreter for that grammar. You're talking about the implementation, which is of fair quality (certainly better than, say, MRI Ruby) and very widely-deployed, a combination which many devs (brilliant or not) take advantage of. People who say PHP is badly designed, however, aren't talking about the implementation; rather, they're strictly talking about the language itself—the syntax, the semantics, and the standard library. There is no advantage to the way PHP-the-language does things; it makes nonsensical choices (like the flat, disorganized, all-libraries-included function namespace, the inability to chain method calls in a single expression, the extreme amount of "weakly-typed" cruft surrounding the comparison operators, etc.) which derive no benefit. It would be strictly beneficial to the programming ecosystem if PHP-the-language were treated as an object-code for other, better-designed languages to target, such that PHP-the-implementation could be used without needing to write in PHP.
- blasdel 16y agoPHP-the-implementation is pretty spectacularly shitty too — it'd be even worse than MRI for persistent processes of any sort. What's good about PHP is the execution/dispatch/deployment model, which papers over massive deficiencies in the infantile implementation (much less the know-nothing language).
- pornel 16y agoPHP is not supposed to have persistent process of any sort. It's stateless (if you shard/share sessions well, it's super easy to scale).
- nir 16y agoExcellent point, and often (as now) overlooked. PHP does have some brilliant design choices, for example attaching itself to the Apache process, terminating when the request ends - this makes a lot less vulnerable to issues like memory handling. Some extensions may leak like a sieve, but since it's all cleaned up when the request ends it never really becomes a problem.
- xentronium 16y ago> certainly better than, say, MRI Ruby Care to give some proof? Say, performance-wise, MRI is not any worse than PHP[1]. And as far as I understand, PHP implementation is just plain horrible[2]. [1] http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=yarv&lang2=php http://shootout.alioth.debian.org/u32q/benchmark.php?test=al... [2] http://blog.paulbiggar.com/archive/introducing-malicious-code-reviews/ http://blog.paulbiggar.com/archive/introducing-malicious-cod...
- pbiggar 16y agoI spent a few years immersed in both PHP the language and PHP the implementation. Each is as shitty as the other.
- wbond 16y agoPHP has been able to chain method calls and members since 5.0. The main thing that can't be chained outside of PHP trunk is array access after a method or function call.
- zokier 16y agoOk, I'll admit, this may sound a bit trollish, but if PHP is not one of the worst languages, then what languages do you rank below PHP? C comes to mind, not as a bad language itself, but lack of web libraries, but that's about it.
- sp4rki 16y agoI wouldn't call C a worse "language" than PHP by far.
- pornel 16y agoIt has messy stdlib (gets()!) and lots of features that you can shoot yourself in the foot with (software security would look very different if it had arrays like D).
- program 16y agoThe C standard library is very clean. gets is left in the C89 and C99 standards for backward compatibility an deprecated right now. Nobody uses gets nowadays.
- nir 16y agoI don't think PHP is a beautiful language. But that's beside the point. Sometimes you need a hammer, sometimes a screwdriver. You don't dismiss a tool because it's not pretty.
- nene 16y agoHammer and screwdriver are equally ugly/pretty. But that's beside the point - it's not the ugliness of php that puts people off, it's the clumsiness and awkwardness of the tool.
- slantyyz 16y agoI don't care that my hammer or screwdriver are ugly. My hammer drives in nails, and my screwdriver inserts and removes screws quite well. To me, both are effective at the tasks I need them to accomplish.