Java News from Sunday, February 12, 2006

Kohsuke Kawaguchi has released , an open source continuous integration system. Hudson is based on servlets and requires a Java Servlet 2.4 or later container.

That last bit is a deal breaker for me. I thought I might try this out until I read that I'd have to deploy it on top of Tomcat. I wonder when Sun's going to realize how badly Tomcat and servlet deployment are crippling products higher up in the stack. It's not just Tomcat either, though some other servlet containers might be marginally better. Servlets took the worst single part of Java, the classpath, and multiplied its complexities a thousandfold when moving from the client to the server. These days I won't even consider a Java product that runs on top of a web server. PHP makes my life simpler. For instance, I never have to worry about restarting PHP just because I've rebooted the server. Yes, I know there are experts out there who can make servlets work, but why should I have to waste my life twiddling config files for hours just to get a basic Hello World program to run at the right URL? Unlike Java, PHP just works. Sure the PHP language is inferior to Java; but deploying PHP apps is so much easier, that doesn't much matter.

Sadly the programmers who designed Java never knew or never cared much about human interface factors which is why to this day we are still struggling with the classpath, an inability to create double clickable applications, an incomprehensible security model, and server side deployments from hell. A beautiful language doesn't matter much when you can't actually deploy the programs you've written.