One now, two later: Groovy updates add Java 8 support

This week's Groovy 2.3 supports Java 8, but lambda support isn't due until Groovy 3.0

Now that they've released version 2.3 of Groovy this week, the developers of the Java Virtual Machine-based dynamic language anticipate releasing another point release (2.4) this year followed by a 3.0 version also this year. Each release would increase the support for Java 8.

Available from Codehaus, Groovy 2.3 is the first version of Groovy that is officially compatible with Java Development Kit 8, which Oracle released in March. However, Java 8 lambdas are not yet supported; the roadmap calls for supporting that in Groovy 3.0, which is due at the end of the year. Developers "can use Groovy closures in lieu of Java 8 lambdas, as we transform our closures to the functional interfaces that are the types to which Java lambdas are converted," said Guillaume Laforge, Groovy's project manager.

Version 2.4 is likely up next. "We haven't yet decided, but it's pretty likely we'll be releasing a short Groovy 2.4 version before Groovy 3.0, to add some additional Java 8 support -- for example some handy syntax sugar over the new APIs of JDK 8, plus some minor features and enhancements that didn't make the cut for Groovy 2.3," said Laforge. Version 3.0 itself "will be faster, easier to do meta-programming with, and support more Java 8 syntax idioms."

Groovy 3.0 was expected to be released last year, but the date has always been a moving target, Laforge said. "It's going to be a pretty big release introducing breaking changes, so we have to be careful with not breaking the unnecessary. But the bigger problem we faced was how buggy was the invokedynamic on JDK 7." (Invokedynamic supports dynamic languages on the JVM.)

The Groovy team is also preparing Version 2.4 of the Grails Web framework. Laforge said it should be released soon. "We really wanted to get Groovy 2.3 out the door in time for inclusion in Grails 2.4."

Other capabilities in Grails 2.4 include improvements to the GORM (Grails Object-Relational Mapping) object/datastore mapper, which now supports subqueries; more usage of static compilation to make Grails faster; and updated dependencies on the Spring 4.0.4 and Hibernate 4.3 Java frameworks.

This story, "One now, two later: Groovy updates add Java 8 support," was originally published at Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow on Twitter.


Copyright © 2014 IDG Communications, Inc.