I never intended to do a long-ish explanation of my position on the whole Groovy/Grails vs Ruby/Rails thing, but Migs’ and Graeme’s comments on my previous post prompted me to respond. I originally intended to answer them in another comment after Graeme’s, but my comment turned out longer, so I’m putting it up as a separate post instead.

Before going further, I have to warn everyone — I have ZERO tolerance for flames. Long convoluted debates to get to some technical ‘truth’ (or any other kind of ‘truth’ for that matter) are nothing but mental and intellectual masturbation, period. Consider yourselves warned.

Now then…

Actually, having a scripting language that compiles to bytecode from its inception has been something on my wishlist for the longest time, ever since I first fell in love with Python many years ago. If I recall correctly, for instance, Jython’s development lagged somewhat behind mainstream Python, and more so Java. Much as I loved Python (and Java), I couldn’t bring myself to bother with Jython.

Now, here comes Ruby. I’m sure its a great language; I ran through a tutorial article in a magazine and it seemed as simple as Python to learn, maybe even simpler. But, it was designed from the get-go to be interpreted, and when I started hearing about JRuby, I figured this would be the same story as with Python — development would always lag somewhat behind mainstream Ruby and/or Java; whether or not anybody admits it, Ruby will always be a second-class citizen on the Java platform.

I haven’t tried Groovy yet, but I find the idea of a [scripting language that is a] first-class Java platform citizen very appealing. Nobody doesn’t really claim that Ruby or Rails had no influence on the initial inspiration for Groovy and Grails, and I have no problem with that. Progress based on or inspired by something that came before, is not unheard of, even in the world of scientific research; in fact its only natural, I think, “standing on the shoulders of giants” and all that, as Einstein said.

As of now, I have no real scientific reason to judge which is ‘better’ or not, and I’m not inclined to do any exhaustive benchmarks on either side. There are other people on both sides of the fence who would only be too happy to do that, and probably do a much better job of it than I ever could. With no ‘real’ technological benchmark to base my judgement on, I’m left with only what ‘appeals’ to my own personal geek sensibilities.

I’m still, therefore, going to give Groovy/Grails a whirl one of these days. And when I say that, I mean just that — I’m not saying everybody else should be getting into Groovy/Grails too. I’m only saying I’m going to give Groovy/Grails a try. It’s not a moral statement of right or wrong, and its not a judgement of what’s better or not. It’s only a statement about what I’m going to do. Let everybody else go into benchmarks and long arguments on mailing lists if they want.

Joel at ThoughtForge

Tags:



Leave a Comment