It may be too wedded it its host environment (The JVM and rt.jar), but groovy is the buzz language of the moment. In my telling of the story, I'm often heard saying something like this:

"Groovy in the natural intersection of procedural and declarative on one axis, and compiled and interpreted on another other"

Part of the vision that Groovy is capable of is best illustrated in some hypothetical applications:-

1) A browser plug-in that could execute groovy natively. Some inspired-by-xhtml grammar for a web page, would contain all the usual graphical artifacts that the HTML dialects do. But instead of escaping to JavaScript to do functional aspects, the markup oriented groovy terms would give way to functional ones seamlessly. There would be no need for a <script ..> escape point.

2) A RDMS server that natively spoke Groovy. Instead of 'SELECT * FROM ...' hitting the back-end, a fragment of a groovy script would. When working on the ambitious AvalonDB a couple of years ago, we recoded tokenized SQL scripts as JavaScript on the fly, for execution against a database API. We never explored the fact that the JavaScript could have been sent through the JDBC API from the client. Imagine something less cumbersome that the JDBC API, and a tear-off concept that would mean that a fragment of a larger Groovy script would execute remotely against a database and come back as a very accessible result-set that would be seamlessly bound in to the running script. Neat & another convergence aspect to Groovy.

Note (2) is very similar to Chris Stevenson's GroovyML, both of which were first vocalized at the August 2003 Codehaus pissup in Amsterdam


February 16th, 2004