Monday, July 19, 2004

Java: 2010?



Effective Java Programming Language GuideI've always appreciated Java for its O-O purity and the clarity of its original mission. But I'm having a hard time understanding its role in the democratized Internet, where everyone has lots of bandwidth, but no one has extra time.

What's that have to do with Java? Let's take a look at some of the sites I peruse on a regular basis --- and make a guess as to their application serving technologies.

ISAPI  eBay (.dll extension)

C++ Google.com
Python ""
PHP ""
Perl? Hotmail (/cgi-bin/hmhome?)
PHP Yahoo.com
ASP MSN Calendar (calendarupsell.asp?)
.NET Programming Tutorial's PHP Pages
PHP DevCentral's Java Pages
PHP F---edcompany.com
JSP Vault.com
CGI? News.com
ASP Rivals.com
PHP Devshed.com
PHP Developer.com
PHP Hannity.com
PHP Linux-universe.com
ASP Doubleclick.com
.NET Orkut


Not a lot of Java out there in the wild, at least driving high-volume sites. And before you get after me about Amazon running WebLogic, I understand from a variety of credible sources that it is not even remotely related to a COTS WebLogic installation. It's been customized out the whazoo to yield maximum performance.

So where does Java make its hay? As far as I can tell, it's mostly internal corporate applications - say, finance, insurance, banking, and the like. J2EE would appear to have made the most headway driving relatively low-volume, but high reliability, sites where transactional persistence, fault-tolerance, and distribution were requirements. Of course, it's been used in a lot of other places where it probably shouldn't have been (e.g., a single-server web application where PHP or ASP.NET could be used in a fraction of the time).

But the trend appears obvious to me. The high-volume sites use PHP, sometimes C++/C, Perl, Python and related brute-force performance-oriented technologies.

Java didn't make it in the applet world. Regarding mobile technologies, I'm having a hard time believing that if a 512 MB, 3 GHz CPU can't run applets fast enough, that J2ME will provide the blistering performance we expect of embedded systems with limited CPU and RAM.

Java's development tools still have a long way to go to reach the level of Microsoft's.

From a career perspective, yes - you can search monster.com and come up with a lot of Java reqs. And you will be able to for quite some time.

But, strategically? I would be looking at technologies that provide higher bang-for-the-buck, whether it's raw performance or rapid application development.

Maybe I'm missing something obvious, but I see .NET encroaching on Java's sweet spot of corporate apps because the tools (not the backend infrastructure) are superior. I see J2ME running into the same problems that applets did: embedded systems demand raw and predictable performance and I doubt that J2ME can answer the call.

And I don't see JSP/J2EE app serving making any headway on the true high-volume sites.

But, again, I'd love to hear about some specific sites that prove me wrong. Anything that keeps MSFT on their toes would seem to be good for the entire industry.

No comments: