Tuesday, April 21, 2009

Future of JAVA

Oracle is a prominent player in the Java middleware space and is a major stakeholder in the future of the programming language. Oracle has very serious incentives to ensure that Java development continues and that the language remains competitive on the server. Sun never really had a clear strategy for monetizing Java and this was a constant source of pressure for the company. Oracle doesn't suffer the same affliction and might consequently be less inclined to try to use centralized control over Java as a means of achieving a competitive advantage over other users in a manner that is detrimental to the ecosystem around the language.

Sun's dictatorial control over the evolution of JAVA has been widely criticized by other stakeholders and is generally viewed as detrimental to the language's growth and adoption potential. The Java Community Process (JCP) has been a particularly thorny source of controversy and friction.

Oracle could finally democratize the JCP by making it more transparent and inclusive. Sun's overt hostility towards the Apache Software Foundation's Harmony project, which seeks to build an Apache-licensed Java SE implementation, could also finally be brought to an end.

Sun has generally exhibited a degree of paranoia about the prospect of empowering IBM and other competitors by validating a permissively licensed third-party Java implementation. Oracle is in a different position and probably recognizes that boosting collaboration around Java will boost the relevance and desirability of its own Java-based products. As such, Oracle will probably view the Harmony project as an opportunity rather than a risk.

One area of the Java ecosystem where Oracle's acquisition of Sun will create some uncertainty is in the client application space. The value of Java to Oracle is almost entirely confined to the server market, so it seems extremely unlikely that Oracle will want to follow through with Sun's efforts to restore Java's relevance in the browser with projects like JavaFX which is aimed squarely at competing with Adobe's deeply entrenched Flash framework.

Similarly, Sun's renewed push for Java on mobile devices could also potentially be viewed by Oracle as superfluous. The trend towards native toolkits and frameworks in the mobile space is making Java ME an anachronism. Java ME is really not competitive with the iPhone experience, which is what all of the mobile platform vendors are trying to imitate right now. Java's only advantage in the mobile environment is consistency between devices, which is really not so good in practice. Web widgets are probably going to displace Java ME for lightweight, cross-platform mobile applications. Ironically, the most sustainable stronghold of Java on handhelds in the long term will probably be Google's Android platform, which uses its own custom virtual machine and Harmony's class libraries.

No comments: