I've just got back from a very interesting two day conference held to
discuss both the Groovy language and JSR 241 which is aiming to
standardize the language.
James spent the first morning outlining his original vision for Groovy
and the direction in which he'd like to take it forward. ( mp3, powerpoint)
Groovy is trying to provide a high level language (like Ruby, Python or Dylan)
that maps cleanly to Java bytecode.
It needs to works with Java objects, and the root of all the object trees is
The syntax will be Java friendly, but doesn't have to be backwards compatible.
Groovy will sit on top of J2SE
After lunch I walked everyone through the story so far, from the conception
of Groovy back in Aug 2003, up till the present day. (powerpoint)
Guillaume then took us through the user feedback we collected, including the main issues of the moment (powerpoint) which appear to be optionals, documentation, visibility, scoping, debugging, class loading, speed and security.
We then dicussed the roadmap for the Groovy JSR, particularly which key deliverables are
necessary to reach a community release of Groovy.
Key Deliverables for Groovy JSR Community Release
- A formal grammar (using similar to EBNF)
- GLS - semantic rules expressed as a diff of the Java Language Specification
- Limited references to groovy.* interfaces
- Reference Implementation
- Test Compatiblity Kit
- Test cases following the GLS chapter by chapter
- A subset of the JCK:Java 'language' tests or similar (e.g. Jacks)
We have so much material from the two days (I recorded 15 hours of audio), it's going to take a while for all the details to surface.