Just weeks after suing Google for patent infringement related to that company's use of Java technology and the OpenJDK, Oracle Corp. pledged to roll out new versions of the very same Java
Speaking at a JavaOne 2010 keynote in San Francisco, Kurian said Oracle is working to merge the HotSpot Java Virtual Machine (JVM) and JRockit JVM into a single JVM, which will include additional features to support non-Java languages. The merged JVM will be supported by a future OpenJDK.
This marks the first JavaOne conference since Oracle closed its purchse of Sun for $7.4-billion. Sun servers were prominently on display at the adjacent Open Oracle World event where a new Oracle ExaLogic ''middleware appliance'' was unveiled. At the show, Oracle execs claimed benchmark records versus competitive Java servers for their newly tuned versions of WebLogic application servers running on Sun hardware.
Just days ahead of the conference, long-time Sun engineer and Java creator James Gosling declared in a blog that Java would be well served by an open Java foundation, giving additional interest to Oracle's Java OpenJDK pronouncements at JavaOne.
What's in JDK 7?
Most items in the Java road map disclosed at JavaOne by Oracle's Kurian had been in the mix previous to the Sun acquisition. Insiders admit the JDK program lost some momentum as Oracle and Sun tried to quickly execute a merger plan. Specifying what will be in JDK7 is part of the process of getting the tooling back on track.
''We want to enhance productivity for Java developers, integrate modularity into the JVM, optimize for new processors, memory and networking, and improve performance, monitoring and diagnostics," said Kurian. "We think the Java Virtual Machine should be extended to support all classes of language."
Recent changes to the Java enterprise edition include attempts to introduce greater modularity via OSGi and, for a wider group of developers, greater modularity via easier-to-build Java framework applications using a Web profile supporting Spring-like Dependency Injection.
In Oracle's present plan, proposed features for JDK7 should include InvokeDynamic bytecode and related features for handling dynamic languages, as well as program language productivity enhancements via Project Coin elements intended to support more concise Java code.
Apparently on hold for now, and intended instead for JDK 8, are Lambda expressions expected to simplify code and exploit multi-core CPU performance. Also now pegged for JDK 8 is the so-called Project Jigsaw Java-native module system for easier assembly of code for deployment. A faster-starting JVM, too, is now marked for JDK 8, not JDK 7.
Thoughts on Java changes
Proposed Java traits each have adherents in the Java community. JavaOne attendee Brian Leathem, a software engineer at a Canadian physics research institution, told SearchSOA.com that modularity is the key factor he would like to see for the JDKs going forward.
"I wanted to see modularity so we could finally start modernizing the class libraries," he said, suggesting elements of Project Coin are incremental by nature and will not greatly impact development practices. ["Project Coin," in fact, is meant to stand for ''small change.'']
On the JavaOne exhibition floor, Adam Murdoch told us better JVM support for dynamic languages is welcome. "This gives more life to the Java platform," said Murdoch, CTO for Gradle, a maker of build software, whose software is itself written in Java and Groovy. "For us the trick is coordinating the different compilers at different stages," he said.
Better multilanguage support on the Java platform is an important development in the view of JavaOne attendee and presenter Howard Lewis Ship.
"Concepts like multiple languages on the JVM were wild years ago - now the [JavaOne] keynoter is talking about the importance of multiple languages and discussing invokeDynamic bytecode," said Ship, independent Java developer and creator of the Apache Tapestry open-source Web application framework.
Ship said he was pleased with ongoing Java work to support Lamda expressions, though displeased with the present scheduling for those features (now set for JDK 8).
In his JavaOne address, Oracle's Kurian said a Java road map was the most requested item from developers in the wake of Oracle's Sun purchase. When dealing with language elements, Oracle, as the new Java steward, must communicate priorities while catering to a wide range of programming requirements. At least in part, Kurian's keynote seemed to do this. But elements such as the JVM and Oracle's special tunings of Java on its hardware, as well as its exercise of Java patents, could prove more controversial as time goes by.