Thoughts on Java and JAVA

I was going to put this in the previous thoughts article, but there's enough here to warrant it's own posting.

Jonathan Schwartz, Sun Microsystem's CEO, in his latest article discusses the recent ticker symbol change from SUNW to JAVA. One particular sentence stuck me while reading his posting:

First, I knew ahead of time changing a ticker to which a generation had become accustomed would be hard. And that it'd draw out the cynics (or those whose only memory of the Java platform persists from the its awkward (and slow) beginnings).

Pardon me for saying this, but which Java grew out if the awkward stage? When Jonathan speaks of Java's maturity, is he referring to Java ME (which I'll argue is a pretty mature platform) or the hodge-podge mess of J2EE and J2SE? The only reason J2ME is even a viable platform is because the technology has caught up to make Java feasible. When Java was initially introduced, it was supposed to take on a role that Flash now comfortably resides. The applet situation for Java was terrible when we were saddled with Netscape's broken implementation of Java (one of the few advantages of Internet Explorer back in the day - there, I said it. :) ). Now that we're in the age of fast microprocessors and cheap memory, Java becomes a viable platform for casual games. The rest of the Java platform is a complete mess, with hundreds of frameworks, and incompatible web-servers. (Why is it so few web containers play well together?) Java has also picked up a reputation as being the New COBOL (whether justified or not). Most of my experience with Java is at work with Websphere, where I've seen nothing but spaghetti XML configurations, and more setters than a dog-show. Not since Visual Basic have I seen an infrastructure that required an IDE to work properly (and if someone wants to dispute this, please show me your hand-crafted .war file, and I'll record me eating my words). I see few people actually getting excited about writing Java, and have seen more people at work perk up when I say that I write code in Perl and Python (and am learning Ruby and Rails).

So why is Sun looking to rebrand themselves with this hodge-podge mess of a language? What I think SUN is desperately seeking is a re-branding of their company. Sun positioned itself as THE server company during the heady dot-com days. "The Dot in Dot Com" ad campaign springs immediately to mind. Unfortunately, so do the pictures of companies wheeling out their Sun hardware at bargain prices when the company ultimately folded. I think Sun wants to put that behind then quickly. Their servers, while still well made, are quickly being supplanted by Linux-based servers. Java is the most successful product that Sun has. People know their phone can run Java games. Few know that eBay runs Sun and Java (if they still do).

I'm not sure branding themselves as JAVA is going to help Sun any, but I can safely say that more people know what "a Java" is than what a Sun server is. Unless you're in purchasing or a data center, or are a developer, the hardware running web applications is invisible to you.The underlying language, and the idea of a JVM is much more relevant to people. I'm betting that Jonathan is betting the company on the success of J2ME and the cellphone industry. I wish them much success there, because Java really is well suited for the embedded market. As a web-developer I can't hope enough for the quick removal of Java from the data centers. :)