Like many others, I read Mike Spille’s How Groovy Lost Its Groove Thang which eloquently detailed how Groovy was a lost cause unless someone stood up and started forcing the choices to be made. He is absolutely correct: for Groovy to become a fully realized and standardized language, someone has to sit down and document the rules. I guess one could document it in a TCK, but many people would probably like to see it in English.
So, Mike got this off his chest and could move on with his life, right? Apparently not. Instead of moving on to other topics, he started hammering out the details of Groovy Closures and Related Syntax Issues. He’s either trying to directly show people the kind of detail they need to go into in order to properly specify Groovy’s behavior, or he’s trying to demonstrate that he’s the guy to take the bull by the horns and get it done.
In terms of JVM languages, I think Groovy has some good things going for it. BeanShell is too close to Java to be truly productive. Jython is too far from Java for many people’s tastes. Nice has some really great features, but seems more positioned as a better-than-Java language, rather than a scripting language. Groovy tries harder than Nice to make it quick and easy to do things (which, arguably, is what you want in a scripting language).
Though I haven’t agreed with all of Mike’s suggestions for Groovy along the way, I will say that no one has put the effort into documenting the details like Mike, and those details are what will inform the difficult tradeoffs. I hope that those who are into Groovy are paying attention, because what Mike is on about is exactly what will move Groovy into acceptance are big companies.
With that said, I’m going to go back to writing my Python now 🙂