3 ms·
PHP is simultaneously the worst and best language I've ever used. I think of it as the c++ of the web. It excels in leaps and bounds at doing the one thing I
by zackmorris 13y ago
PHP is simultaneously the worst and best language I've ever used. I think of it as the c++ of the web. It excels in leaps and bounds at doing the one thing I need to do (getting my idea prototyped in real time as I think about it) so much so that I can overlook the warts that really bother me (like not being able to use [] notation after a function that returns an array?!) The numerous other problems with operators and true/false don't really bother me so much because most languages fall down in one way or another. And people are completely mistaken about the @ operator. I wish more languages had a simple way to bypass errors and just do what I want them to do (or not). The Go language seems to be on the right track about this and I imagine someday we'll think of the @ approach as running a function without examining its error code, in an environment free of exceptions.
I can sympathize with his sentiment though. I hate objective-c more than any other language I've ever used (except visual basic), partly because it's so popular. I see so many problems with objc that I'm flabbergasted people can get so emotionally attached to it, to the point of becoming defensive if I criticize it.
Perhaps some of the vitriol is due to these languages pretending to be something they're not - low level - when really they are just glue between more powerful components. In that sense, I wish they would just be full blown liaisons and do more work for me, instead of rigidly forcing me to fall into the conventions that handcuff me in more "formal" languages. PHP is not so much a language as a preprocessor. If it only had macros.. that's the one failing that really stings, although if it did, it would quickly devolve into something unreadable like perl, so perhaps it's for the best..
- ceejayoz 13y ago> I can overlook the warts that really bother me (like not being able to use [] notation after a function that returns an array?!) 5.4 already added that.