Sunday, November 30

Java may slay everything in its path - including Sun

The cause of Sun’s current woes is a much-debated subject and will certainly become a classic business school case study; if it hasn’t already. Reading this eWeek article - Sun Microsystems: The Innovator's Dilemma – is what made me ponder this subject for the umpteenth time.

I have frequently wondered about the usefulness of the Java language ever since the first scrolling news applet caused my Netscape browser to freeze in 1995. Java soon beat a hasty retreat from the desktop (browser) back to the enterprise server, where J2EE Application Servers seem to have proliferated like baby rabbits in the past ten years. BTW - rabbits are cute but have you seen how they can lay waste to a well manicured lawn?

Even on enterprise servers the presence of Java has only been a good thing for vendors that can profit from the extra hardware grunt and highly skilled people required to keep everything working. I forget the name of the oft-found product in IBM shops, but I think it’s called something like WebsFear. In customer land I see mere mortals struggling with the complexity of Java and failing more often than not. Even when I dig into 'successful' projects I find tales of busted budgets, reduced specifications and never again attitudes.

If Java is so universally good - it has been trying to prove itself for 13 years - then who enjoys and makes money working with it? Obviously not Sun Microsystems. Do you know how many of the software packages that you can buy from a store are written in Java? Not a lot. If future sales growth in the I.T industry is to come from the mobile device market then why does the hottest selling product – the Apple iPhone – use Objective-C not Java? And why-oh-why does my does my 1.8GHz dual-core MacBook Air with 2Gb RAM still grind to a halt every time I hit a web page with a Java applet on it?

Java may well have found favour with developers working on technical infrastructure products but its pedigree for personal or business applications is still in doubt. As a self-confessed Apple Fan Boy I am used to people pointing out that, while Mac OS X is superior to MS Windows in many ways, it is still a niche technology. Apple’s phoenix-like rise and recent triumphs are pooh-poohed by technocrats who remind me that PC’s are still more than 90% of the total market. So I have no doubt that Java will keep a niche following – like Apple does - but in my travels I am seeing that mainstream business-oriented developers are embracing the Microsoft stack (Visual Studio, C# and .NET) more often than not. I think this trend is as much to do with the failings of Java than it has to do with any particular brilliance from Redmond.

I imagine that Microsoft is pleased that stock exchanges like the NASDAQ don’t allow punctuation in ticker symbols. They are prevented from changing their ticker from MSFT to .NET – unlike Sun who switched from SUNW to JAVA last year and consequently may never shake-off this damaged brand. But at least their investors are being given a big clue to one of their core issues! If Jonathan Schwartz ever finds himself in search of another four-letter word to replace JAVA then I have a few suggestions … that I can’t print here.


Anonymous said...

If you use Limewire, or a Blackberry, you run Java. If you want to sell to an enterprise, you'll use Java (and Oracle makes a mint with it), and the reason it sucks on your Mac is because Steve Jobs has a bone up his butt about supporting someone else's technology - and he keeps threatening to sue Sun if they try to help. That's also why Java screams on Windows... because Sun can manage it.

Martin Fincham said...

Thanks for the reminder! I had almost managed to forget all those 'null point exceptions' that my previous 3 BlackBerries would throw on a regular basis. My iPhone crashes as well, albeit much less frequently. I accept that nothing is perfect.

The thrust of my question is whether the apparent cost and complexity of working with Java is justified for the average dev shop? The answer varies depending on your vantage point, particularly if you are the guy that has to pay for it all. In mid-size companies (say 100 to 1,000 employees) I am seeing a definite shift from Java to the Microsoft stack and the rate of change is accelerating. I agree that support for Java (both the technology and the skills) is still key to accessing the enterprise accounts - but I wonder for how much longer?

Anonymous said...

"That's also why Java screams on Windows... because Sun can manage it."

I don't buy that! Java programmers should just stick to writing games and stay away from the Enterprise. I installed OpenOffice on my new PC because Vista wouldn't support Office 2000. After battling with it for a couple of days because it performed so damn poorly I decided to fork out the money and buy Office Vista. I'm also a Mac user and tried the OpenOffice install on my MacBook Pro - that was even worse!