Phil asks what I think of Groovy.

There are a couple of reasons to use a language:

  • It allows you to write code real quick (Perl, Ruby, Python)
  • It detects many errors upfront, by using static typing (Java, C#)
  • It has great IDE support (Java, C#)
  • The code you get is readable and self-explaining (Python, maybe C#, Java)
  • The platform API is huge and relevant (Java, C#, Python, PHP)
  • It is a broadly supported language (C++, Java, Perl, PHP)
  • (It integrates nicely in a hosting platform (Groovy, Python))
  • (The language is developed by people with the same believes you have)

Groovy allows you to write code quicker than Java, maybe as fast as Python. It has poor IDE support (as all dynamically typed languages), little upfront error detection, the code is about as readable as Java. It’s platform API is equal to Java’s. It’s the first time I heard of it, so I don’t think it’s broadly supported. Good thing is that it integrates nicely into Java, probably better than Jython (Python for Java).

The only scenario where I would consider Groovy is an embedded scenario (in a current Java app), however it should be much more easy to embed than Jython. Jython offers all the features Groove offers (for as far as I’ve seen) and is more broadly known.