Saturday, October 6, 2007

Java (seemingly) on the decline again (for the n'th time) ?

Yet another (wishful) doomsday prediction for Java surfaces in the form of pingdom's survey of cherrypicked sites that mostly run on LAMP. Despite the scant respect that surveys and benchmarks should rightly be treated with, I thought it was worth posting a short (though insufficient) response to this one. Seems rather amusing, doesn't it, that during more than a decade of Java's existence, there have been innumerable death knells sounded for Java and yet, it continues to survive, flourish and reinvent itself? Here's what I had to say response to Nati Shalom's query-

"The pingdom sample space is misleading, to say the least. Countless companies in the banking space, insurance, manufacturing and logistics rely on Java engines (not necessarily Java EE, but surely a Java SE server at least). Add to that eBay, Amazon, AdWords and the usage of Hadoop and Nutch in Yahoo, and you have every important player that matters. And we haven't even started talking about niche, little known implementations like those at JPL, Nasa. The talk of TCO and expense associated with J2EE is complete B.S, of course. There're arguably more F/OSS tools and technologies in the Java world than there are in the LAMP world. Additionally, the unparalleled security and trust associated with Java implementations, and the confidence they rightly inspire in the large financial institutions and telcos is worth a dedicated post altogether. All of this makes you realize that pingdom's survey borders on FUD and ceases to be a respectable publication due to the sample space deliberately chosen."

2 comments:

IMHO Those most keen on pronouncing the death of Java are most likely the techno-magpies in search of new silver bullets.

Another interesting datapoint to contemplate: I'm aware of a fairly large website that is migrating away from it's C/C++ based past to a Java based solution. Their reasons for doing so include the fact that performance has become less of a consideration than having long term maintainability. It's also worth noting they aren't adopting a J2EE stack.

Thanks for stopping by Dan. I couldn't agree more with you. Self proclaimed programmers that fall prey to "hack a website in 20 hours using insert-your-favorite-dynamic-language-here" are the ones that're keen to write epitaphs for the Java technology stack. Couple of comments related to the other data points that you provided:

1)I find it rather disturbing that CIOs and such technology decision makers choose Java for server side applications since they "don't mind taking the additional performance hit". That seems to reinforce the (mistaken) stereotype that Java on the server side gives you maintainability at the cost of performance compared to a LAMP or C++ solution. There's never been a bigger myth. It is only on the desktop that Java (currently) has a slower startup speed compared to native applications. But on the server side, the hotspot server VM consistently outperforms conventional compiled/interpreted languages for long running server applications, what with performance optimizations that traditional runtimes aren't capable of.

2)Its no surprise that the website you mentioned isn't adopting a J2EE stack. A lot of bad press that Java developers get for allegedly possessing a poor understanding of Computer Science and scalable systems design should be attributed to J2EE vendors making middleware that only scales vertically, requires heavy iron to run and (temporarily) shields developers from the actual problem of building scalable systems.