Oracle gathered journalists from across the world this week to mark the official launch of Java 8 with the European leg of meetings staged Prague, Czech Republic. The company has described this new Java as the "most significant reengineering" of the language and platform since its launch.
Perhaps it may be more accurate to say that it is the most significant reengineering since Java SE 5.0, which was built with additional power from Generics a set of functions meant to add stability to code by virtue of making bugs detectable at compile time as compared to runtime. But then again perhaps not, Oracle is more bullish about this version that ever before.
So in official terms, Oracle has released Java Platform Standard Edition 8 (Java SE 8), Java Platform Micro Edition 8 (Java ME 8), and group of related releases around Oracle's Java Embedded products.
With this release, Oracle says it sees Java ME and Java SE now converging so that the firm can start to encourage and enable more consistent developer experience and more code reuse across the platforms.
"Java is the global standard for developing and delivering applications everywhere from small devices to the cloud. The convergence of Java SE 8 and Java ME 8 is intended to provide a consistent development environment that improves developer productivity and application performance, along with the ability to 'right-size' the platform for deployment across an even wider range of use cases," said Nandini Ramani, vice president of development, Java Platform, Oracle.
Ramani spoke to journalists in Prague to explain that Java has cared about parallelism for quite some time now and, in fact, the concept of Lambda expressions has been around since the 1930s, pre-dating the arrival of any modern computer software as we know it.
Oracle is also announcing Oracle Java SE Embedded 8, which leverages the new Java SE 8 features and is optimized for mid- to high-end embedded systems. Java SE 8 and Java ME 8 are said to be on a strong convergence path, with Java ME 8 scheduled for availability later this spring.
Oracle now envisions that with a consistent Java 8 platform across embedded devices, desktops, datacenters, and the cloud, software application developers will be able to deploy applications faster, process and analyze in-flight data, and act on events as quickly as they occur.
Inevitably, Oracle has come in for criticism in light of the omission of Project Jigsaw in Java 8. This modularity function is intended to bring more security to Java when it does arrive (which will now be in Java 9).
Al Hilwa is program director for software development research at IDC and he says that Project Jigsaw, or the modularization of Java, is probably the most important next big thing to come in the next major Java release, and it will be critical for Java effectively supporting new devices and the Internet of Things (IoT).
Hilwa continued, "While this milestone finally delivers things that were discussed and promised years ago, I see still see it as a strong statement of commitment by the Java team and Oracle. Especially so if we note that this technology goes into open source under Open JDK and was done during a time when there has been a huge expansion in investment aimed at securing the platform."
In terms of Java SE 8, this release is the result of industry-wide development involving open review, weekly builds, and extensive collaboration between Oracle engineers and members of the worldwide Java developer community via the OpenJDK Community and the JCP.
Java SE 8 enhances developer productivity through reduced boilerplate code, what are described as "improved" collections and annotations, simpler parallel programming models, and more efficient use of modern, multicore processors.
Oracle also calls out new client Java features and enhancements as part of the latest JavaFX release within JDK 8. These include: an embedded-specific graphics stack, new UI controls, a Modena theme, functionality to enable developers to embed Swing content into JavaFX applications, new 3D graphics features, and additional HTML 5 support.
The firm is definite about repeating the "backward compatibility" message and says that Java SE 8 (as with previous versions of the platform) preserves the skill sets of current Java software developers and helps to protect Java technology investments.
Also in this mix is Java SE Embedded 8 to provide a development platform for embedded devices and the IoT, but which still includes the flexibility, portability, and features of Java SE 8, according to Oracle.
"Oracle Java SE Embedded 8 allows developers to leverage the three new Compact Profiles in Java SE 8, which are predefined subsets of the full Java SE 8 API specification and allow for creation of smaller platforms for embedded devices. With this release, Java SE can now be deployed on embedded devices based using as little as 10 MB static footprint and 16 MB of RAM, two-to-three-times smaller than Oracle Java SE Embedded 7," said the company.
Java ME 8 is a major update to the existing Java ME platform incorporating a large set of updated and new features, including Java language and API alignment with Java SE 8, support for modern Web protocols, a comprehensive application model, advanced security features, and standard APIs for power management and interaction with a broad set of standard peripherals.
Developers interested in getting started immediately with the Java SE 8 release can download the NetBeans Integrated Development Environment (IDE) 8.0, which will allow them take advantage of the latest Java features, as well as enhanced support for HTML5.