I really like this article. It doesn’t attack PHP, it points out weaknesses. Too many of the comments here are reflexively defending PHP, using ad-hominem attacks on the author.
Putting them in order of importance, with most important first, I would say:
1. No large corporate backers.
This is an excellent point. If you’re an enterprise architect considering which language to build an app you expect to be in production for 20 years, this is definitely something you’d be considered about.
2. Many beginners, few experts.
This is subjective, but it feels similar to my experience. Developers seem to outgrow PHP, perhaps due to its lack of high-paying roles, or perhaps due to its lack of features like generics and complex data structures.
3. It’s mainly for serving simple HTTP requests
I don’t imagine you’d bother learning PHP just so you could use it on a CLI app. It does the job, but you need to import libraries to get rid of the weird inconsistencies.
4. It has many minor potholes.
Yeah, it does. But with a decent IDE and framework, it’s rarely any worse than other languages.
5. It’s (relatively) old.
I know some people that would use this as a reason. I worked with one guy who preferred using websockets wherever possible because “HTTP was old”, whatever that meant. That can make it harder to hire for PHP, because few hip young things want to use it. But I think it’s a stretch to say it’s an important reason.
## Some other reasons
6. Async is hard in PHP. It’s not native.
7. Enterprise tools take time to support PHP.
8. If you’re doing a simple CRUD backend with a pretty frontend, you can find yourself writing everything twice – once in PHP, and again in JS. Either doing the backend in JS, or a language that can transpile to JS, reduces that need.
But…. it’s not all bad. There are plenty of situations where it makes absolute sense to use PHP.