Even with the RFC process, php-internals still resists adding language features useful only to advanced developers.
The standard library is full of warts, including odd spelling, inconsistent argument order, etc.
The killer though, as mentioned in the article, it has a low barrier to entry, so lots of neophytes write lots of bad code in it. There's also a tremendous amount of horrid, obsolete code out there, written by people that didn't know any better at the time, and kept up because the internet never forgets.
PHP is far less of a joke than it used to be, but people will continue to hate on it and look down on people that make a living writing it.
PHP is not trendy, and there's pretty much no hype around any PHP project.
For my start up, I can't see a single reason why we'd use PHP, try to not think of it as me saying PHP is bad, it's just other languages and frameworks offer us more value.
So this also leads to using node.js (for early development and testing).
This isn't even getting into problems with the runtime itself. PHP's treatment of every new request by giving it a brand new instance to run in slows things down considerably, because it has to do so much startup work -- creating database connections, etc -- before it can get going. Personally, PHP's ugliness is a death from a thousand papercuts sort of situation. Yes, no one feature is a killer, but all the little quirks add up to a language that is less useful and productive after a while.
Nope. PHP has no problem with running jobs. Mixing code-bases for this kind of thing would be a bad idea.
> because PHP the language is so slow.
That is definitely true but you're still waiting more on IO than the language itself. So really, most people aren't use C extensions.
> PHP's treatment of every new request by giving it a brand new instance to run in slows things down considerably, because it has to do so much startup work -- creating database connections, etc -- before it can get going.
Database connections are pooled, of course. Byte code is cached. In my case, PHP doesn't even touch the disk when it loads -- all the compiled byte code is in RAM. Instances of PHP are pooled with Apache children as well. And, of course, you can run PHP just like you run Ruby and Python without about the same amount of configuration of the web server.
> Personally, PHP's ugliness is a death from a thousand papercuts sort of situation.
Most of PHP's ugliness is legacy stuff (badly named functions, etc) that are pretty much old news and hardly restricting.
If that doesn't convince someone that PHP isn't a pleasant language I don't think anything will.
(Its business value is another matter - that McDonald's is extremely successful doesn't mean their food is top quality...)