6 ms·
It becomes "hate" when the criticism is ill-informed and largely irrelevant. The bits of PHP that are "much worse" are mostly either legacy cruft that nobody in
by rickmb 15y ago
It becomes "hate" when the criticism is ill-informed and largely irrelevant. The bits of PHP that are "much worse" are mostly either legacy cruft that nobody in their right mind uses anymore, or bits are rarely touched in day to day programming but are safely wrapped in frameworks, ORM's, libraries etcetera.
Beyond that, PHP simply isn't particularly elegant (mostly since it was never really designed to be a programming language), and we all know it.
Other than that, I rarely see any relevant criticism, let alone constructive criticism.
- SomeOtherGuy 15y ago>The bits of PHP that are "much worse" are mostly either legacy cruft that nobody in their right mind uses anymore, or bits are rarely touched in day to day programming but are safely wrapped in frameworks, ORM's, libraries etcetera. Huh? The article in question demonstrates otherwise, note they just now fixed one of the problems with anon functions, a relatively new feature. PHP continues along the path of adding "features" randomly and without even understanding the purpose behind the feature, and so you get half-features that kinda work and don't really solve any problem in the context of PHP, but were just added so they could check off "some feature we don't understand" on the feature list. >Other than that, I rarely see any relevant criticism, let alone constructive criticism. In the context of PHP, I think "you should use a better language" is as constructive as you can really get. There's nothing wrong with warning new web developers that PHP is worse than every other language that lives at the same sort of level (perl, python, ruby, pike, etc).
- lonnyk 15y ago>PHP continues along the path of adding "features" randomly and without even understanding the purpose behind the feature, and so you get half-features that kinda work and don't really solve any problem in the context of PHP, but were just added so they could check off "some feature we don't understand" on the feature list. This is not how features get added to PHP. Please spend some time on the PHP mailing list if you would like to know how it works.
- SomeOtherGuy 15y agoYes it is. Go read the list archives.
- deleted 15y ago[deleted]
- TylerE 15y ago> The bits of PHP that are "much worse" are mostly either legacy cruft that nobody in their right mind uses anymore Ever dealt with PHP code in the wild before? The amount of PHP written by people not in their right mind is VERY high.
- vectorpush 15y agoAgreed. The "largely irrelevant" point I think is key. Just about every PHP pitfall is avoidable when employing best practices (something that is encouraged for all languages anyway). We see the same thing with JavaScript and C++ (to a lesser extent) because some developers are simply afraid that a less experienced programmer might commit the sin of using the "bad parts", as if Python and Ruby transform careless career programmers into artisans.
- eropple 15y agoNobody can hate something as strongly as somebody who's spend way too much time looking at it. That, in this case, would be me. Those frameworks and ORMs that you claim as a panacea are generally obfuscatory at best (Symfony2, which is a brilliant example of what you can do with PHP and a cautionary tale of designing a system that makes sense to twelve people, ever) to downright maliciously bad (CodeIgniter, get the hell out of my universe and take Joomla with you). If you can muddle along with glacially inefficient frameworks (often with APIs that make core PHP seem not all that terrible for a time) and ORMs (personally, I don't use an ORM for anything, and credit where credit's due, PDO is actually a very reasonable solution), more power to you, but some of us (hi) have already been to that dance and realized it wasn't going to work for us. So I do criticize PHP on many fronts, from its psychotic language decisions to it's slapdash internals and it's blatant encouragement of idiotic programming practices. (You can say "nobody in their right mind would use that," but the existence of crapfloods of shitty PHP--hello, Wordpress--suggest that either that's not the case or the biggest PHP projects out there are run by lunatics.) If I end up writing PHP, invariably I end up grabbing Silex and building the useful bits on top of that. While doing so, I continually wish it was a language where imposing actual application structure wasn't essentially actively discouraged; the outright necessity of shit like call-by-name loses what little error-checking you can otherwise get and the solution to any data storage problem seems to be "MORE ARRAYS!". PHP is a tool where a sufficiently advanced developer finds themselves fighting it as much as using it, and that is a shame. Because it doesn't have to be willfully obnoxious. It just is. I mean, I went back to Java for my own projects, over continued bashing at PHP. That is a low bar. (But, to be fair, Play makes Java tolerable.)
- Encryptor 15y ago"Nobody can hate something as strongly as somebody who's spend way too much time looking at it". Wrong. You can look at something and not hate it as much as someone who just hates PHP because he/she didn't like the syntax or it didn't fit their needs. "Those frameworks and ORMs [...] are generally obfuscatory at best". This is your opinion, not a fact. Don't state it as a fact, unless you've got concrete examples to prove it. "downright maliciously bad (CodeIgniter [...])". Another opinion with no facts to support it. "glacially inefficient frameworks". Another opinion with no facts supporting it. "it wasn't going to work for us". Good. It works for many other people, you happen to be in a different group. More power to you. "psychotic language decisions". Another opinion stated without any facts or even examples. "slapdash internals". As someone who has developed plugins for PHP, I have to ask you what exactly can be qualified as "slapdash", to the point where it brings PHP's internal code quality below similar products? "blatant encouragement of idiotic programming practices": Please, do share with us which "idiotic programming practices" does PHP, the language, encourage, and other similar languages do not? Otherwise, this is another opinion without any facts to support it. "application structure wasn't essentially actively discouraged". For the thousandth time, learn to provide supporting evidence to your arguments. "the solution to any data storage problem seems to be <<MORE ARRAYS!>>". This statement makes no sense. Here's a counter example: if I had 1TB worth of data which I wanted to save to a MySQL cluster, I would _not_ need more arrays than to store the same data to a single MySQL instance, because the storage layer has nothing to do with in-memory representation of an item (except when the programmer decides to make the two similar, but that has nothing to do with the language). Therefore, your statement is false. "a sufficiently advanced developer, finds themselves fighting it as much as using it". Please provide some evidence. As a counter-example, I can point to Facebook, which probably has "sufficiently advanced developers" that are not fighting with PHP. "I went back to Java". I hope you stay there. In conclusion, I'd like to say that, given your unsupported claims, you seem to not have reached a sufficient level of proficiency with PHP. You did say you spent a lot of time looking "at it", but that doesn't necessarily imply that you understood PHP. All the rhetoric in your comment makes for a decent rant, but it will only appeal to similarly-minded people, who hate PHP because of random, half-brained personal reasons. I wish you a happy life, full of hatred for PHP.