tags:

views:

333

answers:

3

For your projects, did you have a favorable experience with Groovy? How big was the project? Were there issues with the language? Did you consider Jython, JRuby or Clojure?

+3  A: 

My team recently implemented a small AtomPub service using Grails (and by implication, Groovy). Overall, it was a nice experience. We briefly considered pure Java and JRuby as alternatives, but not Jython or Clojure. The team went with Groovy because it was somewhat more familiar-seeming than JRuby, but offered more flexibility than Java.

Here are some of the issues we encountered:

  • Less tool support than most of us were used to (how big a deal this is depends on the individual developer you're asking)
  • Gruesome stack traces (this may have been more Grails' fault than Groovy's)
  • With an entire team learning the language on the fly, it was difficult to arrive at a consistent, well-liked style
  • Less-than-ideal documentation for Grails (again, not Groovy's fault); the docs were changing rapidly, so the situation may have improved by now
Hank Gay
+1  A: 

I'm currently working on a small exploratory project using Grails. I had no previous experience using Groovy, only Java.

So far, I am quite impressed how quickly I can hack up something usable, and Groovy's features, especially Gpath expressions, play a big part in that. I've encountered a few bugs in Grails, but no fundamental problems on the Groovy side.

The main disadvantage of Groovy is (for me) that it's considerably less convenient to debug than Java - stack traces are bloated by the reflection magic that happens underneath Groovy's hood, and error messages can be cryptic - but that may in large part be due to my lack of experience.

Michael Borgwardt
+1  A: 

I've done a small/medium size project in Grails (and of course Groovy) and enjoyed it. There were definite hurdles along the way. They included:

  • Lack of good debugging tools (I settled on using Netbeans because of its mostly native support for Grails, but it lacked a debugger... ugh)
  • Bugs in the web-flow features. Grails 1.1 has a newer version of Spring's web-flow which solved a lot of these problems.
  • Weak jquery plugin support. I love jQuery, but it wasn't quite as well supported as prototype (and whatever the other javascript library that is supported out of the box). Nevertheless, AJAXy stuff was a pleasure to write using templates.
    • Difficulty dealing with enums and many-to-many relationships in GORM. Grails 1.1 will go a long way in address these problems.

Overall, I really enjoyed my experienced and learned a lot in a short amount of time. Grails 1.1 is a major upgrade that will make this framework enterprise ready. I'm really just waiting on good debugging tools. I guess I could stop being so cheap and just buy IntelliJ. I hear it's the best for Grails.

Coming from a Java background, the road to Grails seemed much more manageable than starting over with a whole new language and set of tools for Rails.

Andrew

anschoewe