In a blog post on Java 8, Ted Neward, a well-known .NET and Java consultant, author and speaker, said he believes Java remained fairly static until Java 5.
"With Java 5, we got generics, enumerations, annotations, [enhancements] for loops, variable argument declarations" and a few other things, as well, he noted. "Java 8 represents another Java 5-like 'sea change' kind of release. Not because there's a ton of new features, like Java 5 had, but because the introduction of lambdas," which will change the ways developers express concepts in Java, Neward said.
The addition of Lambdas in Java 8 had real-world relevance to financial services giant Goldman Sachs, where Donald Raab, managing director and head of the firm's JVM Architecture group, said it enabled his team to reduce lines of code by 9 percent in their test modules for GS Collections. GS Collections is an open-source framework Raab developed at Goldman Sachs that replaces the Java Collections Framework.
"Java 8 has created a very real opportunity for Java developers to improve their code bases by effectively leveraging higher-level implementation patterns," Raab said. "We hope that LOCD [Lines of Code Deleted] will become the metric that Java developers most enjoy reporting."
Looking Ahead to Java 9
Under Oracle's stewardship, two major platform releases, including Java 7 and Java 8, have been delivered, with Java 9 slated for September 2016.
The key enhancements to Java 9 will come from Project Jigsaw, which aims to modularize the platform to make it scalable to a wider range of devices, make it easier for developers to construct and maintain libraries and large applications and improve security, maintainability and performance, Oracle said.
Other features slated for Java 9 include the Java Shell, an interactive tool for evaluating snippets of Java code; a new HTTP client API to support HTTP/2 and Web Sockets, a port to the ARM AArch64 architecture on Linux as well as a variety of updates to existing APIs along with some significant performance improvements.
"We're working on quite a few things, not just for Java 9 but beyond 9," Reinhold told eWEEK. "In Java 9 we're trying to tackle two big problems. One is the fact that the Java SE platform is this big monolithic thing that can't be divided and is, therefore, difficult to deploy on small devices or en masse in large cloud environments, he said.
"The other big problem we're trying to tackle is that assembling large applications is a fairly brittle thing because the Classpath is very weak technology with which to do that. So we're going to attack both of those problems by introducing a module system that we've been working on for a while and that will address both of those categories of issues," Reinhold explained.