The future of Java

September 22nd, 2010 | by Aaron Tan

The acquisition of Sun Microsystems by Oracle had left developers on tenterhooks over the future of the Java programming language.

Those concerns were laid to rest on Monday by a top Oracle executive who shared the Java roadmap with JavaOne attendees on the sidelines of Oracle Openworld.

Thomas Kurian, Oracle executive vice-president for product development, said: “I’ve been at JavaOne since 1997, but this year is very special for us because it is the first year that Oracle is the steward and responsible for Java. What we want to do today is to make sure every developer is crystal clear on where we see the Java platform evolving.”

Oracle will unveil JDK 7 in 2011, with JDK 8 coming a year later, Kurian revealed. He also assured developers that Oracle is committed to delivering the best Java Virtual Machine as well as OpenJDK, the open source implementation of the Java programming language.

Mark Reinhold, chief architect of the Java platform group at Oracle, told developers at a JavaOne general technical session Tuesday that the enhancements in the new JDKs are centered around productivity, performance, universality, modularity, integration, and serviceability of the Java platform.

For example, in Project Coin, small changes to Java’s syntax that help to reduce redundant codes are proposed, while Project Jigsaw aims to modularize Java by eliminating classpaths and describing library dependencies with a module path and the command jpkg.

JAR files can be built by jpkg, but other formats such as jmod, rpm and deb can be created as well. This allows users to install Java programs easily through standard package managers, Reinhold said.

Reinhold added that to meet the 2011 deadline for JDK 7, Project Jigsaw and Project Lambda – which proposes to add first-class functions, function types, and lambda expressions (informally, “closures”) to Java – will only be available in JDK 8 slated for a late 2012 release.

Kurian also detailed plans to provide a common programming model based on JavaFX across all Java platforms, with interoperability between HTML 5, Java and JavaScript. JavaFX is used for developing rich Internet applications such as video streaming.

“We’re going to give you a single programming model based on JavaFX that spans both (native Java and browser) domains,” he said.

Kurian also outlined efforts to jazz up Java apps with eye candy using a new graphics engine based on the Prism graphics stack that delivers 2D/3D vector graphics and high-quality media. In addition, developers can use JavaFX’s Swing programming routines in Prism to create snazzy user interfaces.

Future Java developments will continue to be guided by simplicity to ensure the programming language will be understood by another developer in the same organization, Reinhold said.

“Simplicity matters, things need to be understandable and a clear semantic model is essential,” he explained.

“Java tries very hard to be the same language everywhere, so as we evolve the language we’ll do it cautiously with a long term view,” he added. “We will add a few selected features periodically and I think going forward we’ll see relatively more features over the next few years than you’ve seen in the past.”


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.