January 28, 2005
We only let you drink it when it's ready

Last night's Einstein Legacy lecture was good. It was a helter-skelter overview of cosmology, and I didn't actually learn anything - but it was a privilege to hear Sir Martin Rees speak, and there were plenty of pretty pictures.

It was also nice to see Jez. The Java Meetups are great, but you don't usually get to have an extended chat with one person.

We chatted about Groovy mostly. There's been a Groovy is dead or dying meme sweeping the blogsphere recently, so it was interesting to speak to someone on the inside.

According to Jez, work is continuing on Groovy and progress is being made, but it's slow. Groovy is in its early days, and it's taking a while to mature.

I think that that might be a major part of the Groovy's problem - it got big quickly, and it's not had time to mature. It's really still at the stage where it ought to be developed (and used) by a few dozen people. Instead, it's all over the blogsphere, it's got a JSR, and everyone is clamouring "where is it?" Well, it's just not ready yet.

For me, the major problem that I have with Groovy is that I really still don't see the point in it in the first place. James was looking for something better than Java, but he dismissed Python without looking at it very deeply. There were a couple of fairly trivial syntax issues that he didn't like, so bang, off he goes and writes his own. Wheel-reinvention is all to common, and this looks to me to be a prime case of it.

What does Groovy deliver that Jython doesn't? Little or nothing, so far as I can see. Groovy's syntax is a bit more Java-like, but that's about it.

Also, Groovy is heading in a Perl-like include everything direction, rather than in a keep it spare and simple Python-like direction, so I'm really not too tempted by it.

Ironically, James has given Python a much more thorough going over since the Sun summit, and he likes it now! He still likes Groovy better, of course, but got can't get in the way of cognitive dissonance!

The real tragedy is that Jython could really use some help. It's progressing now, but getting over the 2.1 to 2.2 hump has proved a real stalling point, and had James and the Groovy team put as much effort into Jython as they have into Groovy, I think real progress could have been made.

Posted to Python by Simon Brunning at January 28, 2005 12:32 PM

Three ways in which Groovy is better than Jython:

1. Jython requires re-wiring all the brain cells that auto-search for curly braces. This is cloesly related to the reason that we're not all programming in LISP.

2. Groovy has a JSR. This gives hope that Groovy can easily slip into big corporate environments. It also makes it more likely to get support from Sun, IBM and the other IDE manufacturers.

3. Groovy class files are Java class files, so tools like Hibernate "just work" with Groovy.

In terms of flavour, I'd say that Groovy is much closer to Python than Perl. James is less cautious about adding syntax than Guido, but that makes sense, building from the C-based syntax of Java.

Overall, I think Groovy should be encouraged because it will allow us to write in a Python-like style and get paid Java-like dollars. It'll be like having your wife and your mistress being one and the same person :)

Posted by: Alan Green on February 1, 2005 01:05 AM
Post a comment

Email Address:



Remember info?