Hi Philip -

I appreciate your feedback. I too have had a bit of a love/hate relationship with Groovy. It annoyed me so much when I started using it (your post a while back got me started in looking into it) that I tried a few things, then dropped it. I recently thought I'd give it another try.

I agree with a lot of what you say. I attribute lots of these things to the "newness" of the language and implementation. For instance, I can't build things using Maven (yet) - but I expect that within the next 6 months that will be fixed.

I too was frustrated by the Eclipse plugin - and still am. To at least get somewhat current I use the "development" edition - it's at release 1.5 (compared to the Groovy release at 1.56).

With the current dev level groovy plugin (1.5.5, released April, 2008), there is a slow startup when starting Eclipse, caused by "rebuilding the groovy projects" but other than that, I don't notice any slowdown. I get around the annoyance of the slow startup by clicking the "run in background" button when it appears.

I still like the language richness - especially the builders, the closures, and the GPath kinds of things for working with XML and friends. The next release (which I haven't tried) has a url which says it all... http://docs.codehaus.org/display/GROOVY/2008/05/02/Groovy+1.6-beta-1+release+with+great+performance+improvements

I'm hopeful that time will improve things :-)
Thanks for your thoughts.  -Marshall

Philip Ogren wrote:
Marshall,

This may be frustrating/annoying feedback. Last summer I sent a few emails to the list about unit testing uima components using groovy and probably said a few other positive things about groovy. We have since abandoned groovy for a variety of reasons. Here are a few:

- unit tests on code that do anything slightly useful parameterized types did not work correctly on mac/unix - eclipse slows down because it seems user actions are constantly waiting for groovy to compile
- refactoring code is not as seamless
- it adds one more moving part to e.g. download/install instructions and makes distribution incrementally more complicated - the eclipse plugin is not keeping pace with versions of groovy - so we felt stuck with groovy 1.0. We really aren't groovy experts and so there may be reasonable counterpoints to these annoyances that we encountered. But any perceived advantage of making groovy groovy was outweighed by our general annoyance with this language. I hope others find these comments useful.

Philip

Marshall Schor wrote:
I just committed a very experimental version of the Open Calais annotator to the sandbox, called OpenCalaisGroovy. As you can probably guess from the title, it uses the programming langauge "groovy" (google groovy) - which is an extension of Java. The details about trying this out are in the Readme.txt file.

At this point, the annotator doesn't run on real results from Open Calais, but rather on test data that they make available for download - about 333 "news" stories. There is a special collection reader that reads the files in this set and sets up a CAS with the input text and a new FeatureStructure containing what OpenCalais would have responded with. A separate annotator takes the response as specified, and constructs Entities, Relations, and Instances, following the model that Open Calais is using. This implementation uses the JCas, and there is a complete set of JCas types defined for all the Entities and Relations that Open Calais produces.

This is my first try at doing things in Groovy - so it may not be done in the ideal groovy way :-) - but it's interesting code to look at.

The Readme tells how to run it - you'll need the Eclipse Groovy plugin (maven build is not yet working due to bugs in the maven groovy builder supposedly fixed in a SNAPSHOT release, but I'm waiting for the next release candidate - this is still early in the evolution cycle).

Feedback / improvement welcomed and appreciated!

-Marshall





Reply via email to