We are using Groovy on Grails for an incubator project, which is incredibly refreshing! Groovy as a dynamic language with optional type annotations doesn’t quite rock my boat though. With static type checking the types you define are an essential element of design. I like to point out that Groovy’s creator wrote:
“I can honestly say if someone had shown me the Programming in Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I’d probably have never created Groovy.”
That book incidentally is highly recommended. Some might be put off by the operator-heavy syntax but it is simply a matter of getting familiar with it. The language itself is quite tiny – the defining goal is for Scala to be a scalable language. For example, the language didn’t have to grow to accommodate Erlang-style actors, but they could be implemented as a library. The type system is very well thought-out and feels like what Java should have been. And it is so easy to mix OO and functional programming (without having to fight the language!)
Lots of web folk are proclaiming the death of Java (not likely to happen for a long, long time); but the JVM ecosystem is flourishing. With Groovy, Scala and Clojure there are great options for leveraging existing libraries and interacting with legacy code. So pick a flavor and dig in!




I agree Scala looks interesting – I spent last Sunday actually with the Odersky book and ported a 150 line Python script to Scala. What I do like is the type system and type inference it provides, what I didn’t like was the quality of the Eclipse integration – simply too many bugs, and too many Eclipse or editor window restarts required.
Still, I am sure I will give Scala a second chance, because I am intrigued by the mix of functional and imperative programming and how it is supported by Scala, and the clear distinction that can be made by using vals and vars. For the near future, I think I will stick with Python for real life [scripting] problems.
yah, IDE integration is not very nice at the moment. intellij btw has the best scala plugin
and yup, i prefer python for scripting as well. but having had a taste of scala, not going to be starting any new personal projects in java!