I think Groovy - as a language - has potential to ease the development effort in a typical JEE development environment. There have been a ton of web pages about why Groovy is cool and I’ll leave that as an exercise for the reader to follow up on. Before we get to the meat of this post I just want to be very clear that I’m a Groovy fan.

The core Groovy developers and the G2One folks are passionate, clever, and guide the growth of the language in a positive way. I have been a long time follower of the Groovy developer and user mailing list and the Groovy developers are on both lists are out there every day helping out and answering questions (often the same ones over and over and over….). These folks are very accessible to the Groovy users. I want to be clear that I’m a huge fan of all the people dedicating their time to the growth of Groovy.

But….

Most of the current development tool offerings surrounding Groovy are terrible. They are so bad that they approach the speed of uselessness. You can take the tools put them in a circle and form a strong enough suck field that you can time travel back to 1991. Lets take a look at where we are with the Groovy development tools I’ve tried to use recently (as in the last two weeks):

Eclipse Plugin

I’m an Eclipse user and have been for years. I don’t really use any other IDE for Java development. So, naturally, when I wanted to look into the possibility of allowing plug-ins to an application at work to be written in Groovy I downloaded and installed the Eclipse plug-in.  Wow.  Was I sorry I did that.  Why is this thing so terrible?  Even basic things like syntax coloring act strangely.  If you go and change the colors you have to then close each of the editors to have it take affect.  I know syntax coloring is a very small issue but if the little things don’t work well then what do you expect of the bigger ones.  I know people are working on it but I honestly think Groovy could be better served by stop working on the mythical MOP 2.0 and split off some guys from the core team to get the Eclipse plug-in working well.  It sure would make selling Groovy as an additional tool on the JVM much easier for me.

I have a friend who recently completed a Grails project using the Eclipse plug-in whose comment was, “It didn’t crash Eclipse…much…”  That’s a ringing endorsement there.

NetBeans

I’ve been messing around with the new support for Groovy in the NetBeans 6.5 Beta (that’s going to date this post in the future) and it works okay.  It is better than the Eclipse add-on by a mile.  It generally just seemed “snappier” across the board.  It also includes good support for Grails (oh yes, another web framework!) if you’re into that sorta thing.

I wish that the NetBeans folks would have focused on Groovy support before PHP (wtf?!) and Python (less of a wtf) but I didn’t get to pick.  Focus on the languages running on the VM (unless PHP slipped in there while I wasn’t looking).  Thanks.

On a totally unrelated side note: if you haven’t looked at NetBeans 6.5 running under Java 6 Update 10 you should. :)  The new font rendering in the JDK makes Swing apps look sweet!

GMaven

Early on this was buggy and terrible but it has turned the corner and is pretty damn useful now.  When I first tried it the plugin it pooped in the bed and rolled in its own sick.  But somewhere around the 1.0-rc2 timeframe its crapstorm problem cleared up and it started working like a champ.  In fact, we’re using it on a project at work and quite happy with it.  If you’re already using Maven and want to start including Groovy then I’d highly suggest this as the way to go.  Sadly, this still doesn’t answer the question of what to write Groovy code in but at least you’ll be able to build in a sane manner.

IDEA

I’ve heard the Groovy support is good but I don’t really use IDEA so that doesn’t help me a lot.  If you have used the Grooby Groovy support in IDEA drop a comment and let me know what you think.

I love the language - hate most of the tools.  There is no way I can sell using Groovy in my work environment when the accessibility of usable tools isn’t there.  Except in rare cases the adoption of a language is going to have a limiting factor by the tools available to support it.  Without easy to access to those tools a low barrier to entry to the language is a pipe dream.  Groovy runs a real risk of being an interesting “experiment”.  I’d really hate to see that since I think Groovy brings so much to the table for the average Java developer.

8 Comments

  1. Andy Yates says:

    FYI PHP has made it onto the JVM (http://quercus.caucho.com/).

  2. Chris says:

    @Andy
    Good lord, isn’t that like the opening of the 4th seal of Revelation?

    j/k - Thanks for letting me know. :)

  3. Shaun says:

    Totally agree about Netbeans, and also have thought (wtf?) about their choice of language support. Never experienced any of the stangeness with Eclipse plugin though…

    I’d suggest giving either Textmate or the E text editor a try. Neither are full-blown Java IDE’s but if your like me and now doing most of your Java dev work in Groovy, you really don’t need them.

  4. Chris says:

    @Shaun
    Maybe I’ll try the Eclipse plugin on a newly installed Eclipse and see if I have better luck. As it is, when I’ve tried it simply selecting New -> Groocy Class throws an exception. :)

    TextMate and e are both sweet. I own and use both of them and in all fairness should have included them too. I guess the only drawback I see to using them (and its not a big one) is that some of the nicer features of IDEs may not be there. Come to think of it maybe a combination of GMaven and TextMate/e would be a nice workable solution.

  5. Mike says:

    I tried Groovy + IDEA. It worked well, but it was my first an only experience with Groovy, so I may not have exercised the language and IDEA’s support for it much.

    Chris, you can get IDEA for 30 days and the plugin free and give it a try and report back how it compares with the other IDEs and their support.

  6. Brent says:

    IMHO, the lack of decent Groovy support in Eclipse is the biggest thing holding back further Groovy/Grails adoption. Groovy + IDEA works well, but the bottom line is that I want to use Eclipse.

  7. Web 2.0 Announcer says:

    Groovy: Its the development environment, stupid!…

    [...]think Groovy - as a language - has potential to ease the development effort in a typical JEE development environment. There have been a ton of web pages about why Groovy is cool and I’ll leave that as an exercise for the reader to follow up on. Be…

  8. Chris says:

    @Mike
    Yeah, I think I’ll have to give the trial with IDEA and the Groovy plug-in a try this weekend. :)

    @Brent
    Totally with you there. That’s part of the reason I had to get this off my chest because I’m in the same boat as you. Like Eclipse and simply want to be able to write Groovy code in a plug-in that isn’t gimped up.

Leave a Reply