Thursday, February 24, 2005

Groovy!

<austin powers> Yeah baby! </austin powers>

:-D

Groovy's, well, reeeeeally groovy dude. It's a Pythonisc scripting language which is designed to run on the Java 2 Platform and which is instantly intuitive for Java programmers. It's got native lists and hashes, closures, loose typing and inbuilt regex. If you know Python and Java, you'll be up and running in a few minutes.

Groovy really cuts down on the lines of code required to get things done. No need to declare variables, easy to use for loops and inbuilt list types (with slicing, ranges etc.) reduce code clutter. It's not magic, but a definite improvement on vanilla java.

Since it runs on the JRE, it's got access to Java's "everything and the kitchen sink" library and since it compiles to java byte code, you can call groovy code from within your java classes and vice-versa. Plus, you can run groovy on it's interpreter for easier debugging and testing.

What's the catch? Well, it's still under development and the specs are fairly fluid apparently. However, they've submitted Groovy Java Specification Request 241 to the Java Community Process Program and if JSR 241 is accepted, Groovy will be an official standard.

Final Word: It looks absolutely fantastic, but I'm not going to use it for anything serious till it's standardised. Besides, it's marked as unstable on Gentoo ;-P

5 comments:

Sandeep Shetty said...

How not to design a language: Groovy

It's a post by John Lim about the debacle that is Groovy.

Sandeep Shetty said...

How not to design a language: Groovy

It's a post by John Lim about the debacle that is Groovy.

sherwood said...

Groovy getting out of the rut... at:
JavaOne: Groovy reactions! and Groovy's growth spurt

Anonymous said...

Interesting.

Not sure why someone would not want to declare variables in a serious application, though.

Arsalan Zaidi said...

It's the dynamic language way :-)

You can declare variables in advance at the start of the block if you want, just not their data types.