Tim Bray has an interesting post on PHP, which actually gets interesting in the updates (which he appends to from email because he doesn’t have comments, pity). When SAP did the Zend investment a lot of time was spent on the technical due diligence. The slap on PHP has always been that it’s a scripting language trying to be a “grown up” development language… you often hear this from older developers or, for lack of a better term, technology snobs.
Using Python as a contrast there are some distinct disadvantages that PHP has, like:
- - Python can be run outside of a web server as a separate process, PHP can’t
- - indententation makes for easy-to-read code, and if you have ever looked at PHP code you know what I mean
- - PHP has a much larger core than Python
- method chaining and multiple inheritance in Python, don’t have that in PHP
- - lots of data types
- differentiation between array types (lists and dictionaries) in Python
- - references are difficult in PHP
- - namespaces and modules in Python
The list goes on and in all fairness PHP has some distinct advantages as well, like the fact that it is very easy to get started with because it’s more forgiving than competing languages (e.g. globals used to pass arguments, all variables are “set”).
In the end, the strength of PHP for the investment decision came down to the fact that there were so many developers using it on so many websites. Community, it’s increasingly coming down to the community and not the technology.