Developers Embrace Java 8 Features While Looking Forward to Java 9

NEWS ANALYSIS: App developers say they strongly support Java 8 to take advantage of new functionality, such as Lambdas, even as they look ahead to Java 9's September 2016 release.

Java 20 years

Java, you've come a long way, baby. Twenty years ago when a skunk-works team at Sun Microsystems launched a project that begat the Oak language (later renamed Java), nobody had any idea it would become such a significant part of IT history.

Today, Java is the programming language of choice for 9 million developers, and it powers more than 7 billion devices. In addition to driving many of the world's business systems, Java also is being used to improve road and air safety, collect information from the world's oceans for scientific research, help increase grain crop quality to help feed the hungry, and simulate the human brain and musculoskeletal system, Oracle officials said.

The Java language is on its eighth major version with the current Java 8 release as Oracle prepares for the release of Java 9, which is scheduled for September 2016.

Java 8, introduced early in 2014, was one of the most significant releases of the Java language in years. In fact, Oracle said it is the largest upgrade to the Java programming model since the platform was introduced in 1995. At the least, it is regarded by many software developers as the most important update since Java 5 in 2004.

Java 8 brought with it enhanced developer productivity and significant application performance increases through reduced boilerplate code, improved collections and annotations, simpler parallel programming models and more efficient use of modern, multicore processors.

The key features of Java Development Kit (JDK) 8 are Project Lambda, the Nashorn JavaScript Engine, a new Date and Time API, a set of Compact Profiles and the removal of the "permanent generation" from the HotSpot Java Virtual Machine (JVM).

JDK 8 is a production-ready implementation of the Java Platform, Standard Edition 8 (Java SE 8) platform specification. Project Lambda supports programming in a multicore environment by adding closures and related features to the Java language.

"The new date/time package was among my favorite Java 8 features," said Wayne Citrin, CTO of JNBridge, a maker of Java and .NET interoperability solutions. "Replacing the old, broken one was long overdue. My personal favorite new Java 8 feature is the enhanced method parameter reflection, particularly the ability to extract parameter names. Customers have been asking us to map parameter names when generating proxies, and with the new reflection API, we can now do this."

However, "one of the most popular features in Java 8 is Lambdas—adding closures to the Java language," said Georges Saab, vice president of development in the Java Platform Group at Oracle, which acquired Sun and, thus, Java in 2010.

"That's been nicely coupled with advances we made in the underlying Java Virtual Machine as well as in the class libraries, Saab said. Lambdas use a new bytecode, called invokedynamic, which was added to the previous Java release, Java 7, to provide high performance.

There were other additions to the Java Class Libraries, specifically a Streams API was added to the Collections API, Saab noted. The Streams API allows developers to set up a pipeline of operations to support the MapReduce style of programming, which is quite popular in the big data world, Saab explained.