Saturday, March 17, 2007

NFJS Day 1 : Groovy

(This weekend, I am attending the No Fluff Just Stuff 2007 Java conference. I'll post a full review later. For now, here are some random ideas from various sessions.)

Groovy

1. No matter how often someone says "Groovy compiles to bytecode and runs in the JVM", the light may not come on until you actually use some of your projects' objects in a Groovy script. Then you will yell "ohhhh.... Groovy runs in the JVM!".

2. There are 2 levels of resistance when learning a new scripting language. The first is often new syntax. I don't mind this one at all; it's refreshing (though it is not an issue with Groovy). The second is project organization: how do you organize code in large projects? how do you package it? etc. This is where Groovy truly shines: just use the Java conventions and tools.

3. One of the most compelling things I saw was an Ant task which allows one to write pure Groovy. This effectively allows one to slip the surly bonds of XML as a declarative programming language! Rejoice!

2 comments:

Anonymous said...

The oft-forgotten third level of resistance to learning a new scripting language: it's still a scripting language.

Michael Easter said...

Thanks for the comment... It has been quiet on here.

One mistake I made in an earlier post was equating dynamically-typed languages with "scripting" languages.

IMHO, it is not accurate to portray Groovy, Ruby, Python, etc as mere scripting languages. Both Google and Yahoo use Python extensively. As mentioned in a post circa March 18, there are projects that use Groovy extensively.

Though even this metric is suspect, since Perl is (was?) widely used, and I just can't bring myself to put it in the same league as Groovy and Python.