Why I’ll never use Groovy on Grails
Monday, February 06th, 2012Why? Because it doesn’t exist. The framework is called Grails. Just Grails. Go to http://grails.org/ and search the site. You won’t see any “Groovy on” anywhere. Seriously. Check it out. I’ll wait.
I guess some history about what caused all this is in order. Back in 2005 the Grails framework was started after discussions on the Groovy mailing list about the idea of a Groovy-based JVM alternative to Ruby on Rails which was then starting to get a lot of buzz. The original name was “Groovy on Rails”, but only a few months later in March 2006 Graeme sent a note to the mailing list titled “Groovy on Rails is no more (kind of)” saying that David Heinemeier Hansson had complained about the name, so he was changing it to just “Grails”.
It’s now February 2012. One month short of six years since the name was changed to Grails. And yet there are still a lot of recruiters (who are for the most part beyond hope) and even developers (who should know better) who call Grails “Groovy on Grails” and “Groovy on Rails”. “Groovy on Rails” makes some sense since there’s a historical basis for it, but “Groovy on Grails” makes me think of nonsense phrases like Splooby on Splails. We don’t call Spring MVC “Spring on Java” or Struts “Struts on Java”. Django isn’t “Django on Python”. Even recruiters looking for “Groovy & Grails” developers are a bit confused since you can’t use Grails without Groovy.
I was thinking that if there were a PHP framework that used the Rails-like convention-over-configuration approach that they could call it PHP on Rails, but that developers would just call it Phails, so I guess that’d be unfortunate. But someone did this, and I’m guessing got a similar note from DHH since the PHP on TRAX website describes the name as “Php On Trax (formerly Php On Rails)”.
So if you’re one of “them”, stop. Refer to the framework as Grails. And when replying to clueless recruiters who are looking for Groovy on Grails developers, gently remind them that there’s no such thing.