The PHP is junk meme seems to be rolling around the over the past week. Harry addresses it well in the link I posted in the last post. The thing I find interesting, but not surprising is that most of the stones seem to be thrown by folks who have never built a production app in PHP. Mostly “real” programmers who use “real” languages.
I was a little sad to see one of my favorite “real” programmers enter the fray. Ian Bicking seems to be a really smart guy and is certainly a superior programmer to myself. I love reading his blog even though I don’t know Python. However I must say he has lots of errors and poor assumptions in his post.
I won’t go through them all, but there are two that stand out. First is that PHP has horrible database support. I love PHP’s DB support. I have a product that supports 3 distinct DB’s (Postgres, MySQL, MS SQL Server) all from one SQL base. I see very few apps of any type in any language that do so.
Second, is “PHP gets by with nearly everyone using Apache, and it does well — the constraint is a feature. Less to think about.”. Again, my product has over half its install base running under IIS. People are handling thousands of requests with PHP under IIS and things are running great. Not just under IIS but IIS in both CGI and ISAPI.
So here’s a quick rundown. HelpSpot, a 100% PHP application, is currently known to run with 3 different DB’s, on at least 3 different web servers (IIS, Apache 1.3/2.0, Lighttpd) in no less than 7 different configurations if you count both CGI and modules, on 4 different operating systems (Windows, Linux, Unix, OSX) with probably 15-20 different configurations if you consider various Windows builds and Linux flavors.
Doesn’t sound too bad for a language that’s been given no proper thought, is poorly designed, and is no good for serious development.