Ruby on Rails is not a language. Ruby is the language. Rails is the framework.
Rails solves the problem of making something that should be easy but often easy, easy almost all of the time.
Servlets and
JSP is a very complex solution to building web sites. It really shows the ugly side of Java, IMO. I can give you lots of examples, but consider that 4 lines of code + 1 small line in each controller, if you need fine tuned control, is all it takes to block people who are not logged in from accessing your web pages.
Most of the 'P' languages in LAMP often produced messy code with model stuff in the view and controller stuff all over the place.
Rails abstracts the model so transparently that it usually takes 1 line to switch databases. It also keeps the M, V, and C nicely separated, and actually enforces MVC.
It also has a built in CVS-like system of creating, maintaining and changing tables.
It has a ton of built in helpers that turn that messy 50 line JSP code into 1 or 2 simple lines of ruby.
It has great AJAX support, often allowing for a simple 2 or 3 lines to do some really cool stuff in this area.
In short, it allows you to have a functional website up and running in the time it takes to edit a XML file in JSP. AKA, it makes it easy to actually create something.
It is not perfect, and probably not even close to make it into the enterprise ring, but it solves the problem of taking care of all the mundane details so you can do something interesting. And as easy as it is to create something in Rails it is not easy to deploy it, but honestly it isn't that much more difficult then setting up
Tomcat for production. If you need to break convention, sometimes it is a bit tough, but not always.
I don't know much about groovy/grails, and honestly am not interested. Ruby is a much cleaner language then just about anything else out there.
Give it a spin and see what you think:
www.rubyonrails.com It takes less then 10 minutes to download and install ruby, gems and rails. You also get an awesome built in
testing web server. Then click on get better and see what you can build in 15-20. Most people are stunned at how quickly they can bring up a basic web site.
[ October 21, 2007: Message edited by: Rusty Shackleford ]