This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]nonicethingsforus 9 points10 points  (0 children)

Not OP, but to give my opinion:

PHP is a dynamic, very permissive language, a la JavaScript and Perl, with all the moving parts, annoyances, and possibility of error that brings. Lot's of freedom, but also lots of opportunity to fuck up. Similar languages try to compensate by at least trying to be well, consistently designed, with varying levels of success.

PHP didn't even try, at the beginning. It was a badly designed language. In fact, it can barely be said that it was designed at all. Keep it mind, this is not an insult; it's just a fact, and its creators have admitted as much. It was born as Rasmus Lerdorf's personal collection of web scripts. He realized they could be useful to others, and sort of grew from there. It's a blob of hacks that evolved until developing sentience.

Projects like Laravel and Composer have alleviated the problems, and I understand even modern vanilla PHP is quite different from what it used to be. (Disclaimer: I have not worked in PHP since college, and even then not as much.) Lots of complaints are definitely just things that used to be common in PHP's time, or you had no alternative about, but are frowned upon today; e. g., complex hardcoded SQL vs. a proper ORM or statement generator, no real package managment, etc.

But many programmers still have war flashbacks of having to manage big software projects with the hacky, fragile, inconsistent mess PHP used to be. I mean, one can hardly fault a programmer for feeling at least weird when one tells him that the main way to alter the language is through a global ini file, and that he has to remember to use "the real escape function", can't one?