Oracle Festivities Big on New Java 8 Language Strengths

By Darryl K. Taft  |  Posted 2014-03-26 Print this article Print

Oracle officials said the Java SE 8 release is the result of industrywide 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 8 is the best community-driven Java version so far," said Bruno Souza, founding member of the SouJava Java user group in Brazil.

Java SE 8 enables 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.

As stated, the key features of JDK 8 are Project Lambda (JSR 335), the Nashorn JavaScript Engine, a new Date and Time API (JSR 310), a set of Compact Profiles and the removal of the "permanent generation" from the HotSpot Java Virtual Machine (JVM). A complete list of the new features and capabilities of JDK 8 is available here.

Adam Messinger, CTO of Twitter, who was formerly vice president of development at Oracle, congratulated Reinhold and Oracle on shipping Java 8, noting that he was "proud to be a little part of it."

"Twitter's made a big investment in the JVM [Java Virtual Machine], and we've moved almost all of our server-side infrastructure onto the JVM," Messinger said. "And we do it with both Java and Scala internally. So the work that we started in Java 7 with invokedynamic and that you've continued in Java 8 to make the JVM really a true multi-language platform is really important to us at Twitter.

"I think the work you've done with putting lambdas into the language continues this long tradition of Java cherry picking really great, powerful features, and doing it parsimoniously so the language stays clean, and putting them into the core language. I think that's great. We've seen a lot of power with that in Scala. And I think what you've done with Nashorn and getting a pretty different language to run on top of the VM, undoubtedly that makes the VM better as a multi-language platform for all languages. We don't use any server-side JavaScript at Twitter, but if you look at the popularity of Node.js you can see it's something people want to do."

John Rose, an Oracle software architect who worked on invokedynamic—an instruction that helps dynamic languages run on the JVM—and on Nashorn, explained why Nashorn is special.

"Nashorn is a complete rewrite from blank paper implementation of JavaScript," Rose said. "The reason it's different from 500 other JavaScript implementations is it is written on top of the modern JVM architecture. It is fully standards compliant so it's a real JavaScript, but the thing that makes it unique is that it operates with the JVM's JIT [Just In Time compiler] and garbage collector and concurrency and thread control, which means that you can write JavaScript code, but it scales fully and performs fully on the JVM. Then you can also bounce over and call all the Java APIs straight from JavaScript. So there's a mixed language interoperability story that's really powerful and fun to use."

"We're still looking over all the Java 8 features and doing some planning on how several of them fit in," Todd Williams, vice president of technology and co-founder at Genuitec, told eWEEK. "However, what seems to be the most interesting thing to us is the inclusion of the Nashorn JavaScript engine. The impact that this addition will have on future architectural decisions could give rise to some very interesting innovations.

"Also, the ability to easily obtain a rigorous parse tree for JavaScript will empower tool developers to deliver some very compelling Java-plus-JavaScript environments for those new architectures," he said. "Genuitec will be more actively targeting that emerging combined environment in our next major release of MyEclipse in June."

For his part, Messinger noted that one of the reasons people like Scala is for the functional features. "And one of the things about that is conciseness of certain expressions," he said. "So lambda does capture a lot of that.

"In a lot of ways, Java and Scala are closer together than they were before," he said. "So that will help us because it will be easier to switch from one language to another. One of the reasons we moved to Java in the first place was for performance. We saw some performance uplifts of 8x. We haven't done a lot of work with Java 8 in Twitter just yet, but it makes me think we'll see an uplift as well."


Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel