(Update: it appears that I misjudged Grails here. The author of Grails has advised me that it is built on mature, tried and tested Java technologies such as Hibernate, Spring, and so on, and it seems that Groovy is not just another random programming language but an extension of Java itself to incorporate language features such as closures, dynamic typing and operator overloading. Unfortunately I won’t be able to attend the lecture myself, but it may well be worth checking out if you are a Sussex based Java developer. More details are in the comments.)
I was asked today if I’m interested in going to a lecture at Sussex University on a new web framework called Grails, which is written in a language called Groovy that runs on the Java platform.
Not really.
One glance tells me it’s Yet Another Rails Copycat. It seems that everyone and his dog are writing them these days, and most of them are completely unnecessary. If I really wanted to do something Rails-ish on the Java platform I’d use Rails with JRuby.
The fact of the matter is that while it’s worth knowing two or three different web frameworks, some of them are just too niche to bother with. Groovy is currently at number 32 in Tiobe’s Top Fifty, just above PL/I, Smalltalk and Haskell, with half the popularity of Fortran and a third of the popularity of Scheme. And nobody except Paul Graham writes web applications in Scheme.
I’ve finally decided to take the plunge and get into Ruby on Rails properly.
I must admit there have been a couple of things about Rails that put me off a bit. One of these was the amount of hype surrounding it. I have always been very wary of hype, for the simple reason that it can cloud your judgment and lead you into making rash decisions that you later regret. Another thing that put me off learning Rails was the lack of decent, downloadable documentation — though this is less of an issue now that we have broadband at home. A third thing is that the business case for Rails is still fairly embryonic at present: there are fewer Rails jobs knocking around than .net jobs or PHP jobs, for instance. And on top of that, Joel Spolsky doesn’t like it.
Having said that, Rails is rapidly becoming mainstream. Tiobe Software noted that it was the programming language with the fastest growing community in 2006 (seems it took a massive leap round about November). Besides, the off-the-chart-smart people at ThoughtWorks have thrown their weight behind Rails, and you need to bear in mind that these are some of the people at the cutting edge of research into software development and design patterns, so it must be worth serious consideration. And on top of this, the chief technical architect for one of our most important clients is seriously into Rails, so it looks like it could come in pretty useful.
And what of Joel’s railing against it? Personally, I can’t help but get the impression that it cost him a lot of credibility. (David Heinemeier Hansson described it as “one of the purest forms of FUD I’ve ever seen”.) And when he ended his article by saying that he has his own in-house programming language called Wasabi, a lot of people thought that he had gone off the rails in more ways than one — or at the very least, that he was joking. Unfortunately, he wasn’t.
So I took delivery of the book from Amazon.com yesterday and I’ll be working my way through it over the next couple of weeks or so. Stay tuned.