Java Developers Journal author Timothy Fisher blogs that all the cool open source Web applications are written in PHP, whereas Java developers seem to focus on writing frameworks. I think there’s a big reason for that. Let’s say that I want to put up a blog or a message board for my own use. I can spend $10 or $20 bucks a month and get a shared hosting account, unzip an archive containing a PHP application, run the database setup script, and I’m off and running. It’s cheap and it’s easy. If I wanted to use a Web application written in Java, I’d have a much tougher road ahead of me, both in terms of finding a hosting provider and getting things up and running. That’s the strength of PHP. So if I want to write an open source application that’s going to see wide adoption, I should pick PHP. Even if people write the best message board software ever in Java, it’s not going to be as popular as PHPbb, the administration overhead is just too great.
On the other hand, most of the Java developers out there are writing applications that lend themselves to the use of frameworks. I’ve worked on several internal projects and a couple of products that have used Hibernate for persistence. Using Hibernate has saved companies I’ve worked for more money in development time than any popular PHP web application ever will. So the reason why the open source development effort in each camp falls out the way it does seems completely organic and natural to me, and intentional efforts to change things don’t make much sense.
Hack PHP programmer beats computer science geniuses
My company is trying to get FogBugz 4.0 up and running on one of our servers, which happens to run a Linux distribution that’s not supported by Fog Creek Software right now. There’s also a limitation in the product, described here, wherein the maintenance script (written in PHP, naturally) can’t connect to your FogBugz instance if it’s running on a secure server. Well, I went in and replaced their code (which uses raw socket calls), with some code that uses the PEAR HTTP_Client package that handles SSL properly.
That says something for the power of scripting languages, if nothing else. I was able to go in and work around a problem with their software just the same as if it were an open source package. I think our sysadmin is even going to send them the patch (not that they’ll use it). Anyway, it was easy to fix, our software works properly now, and I get to gloat a little bit. A good day over all.