So I spent a little time today looking into Ruby on Rails at last. I got it set up, did a tutorial, tweaked some code, broke and fixed it.
Fascinating.

Not an order of magnitude, but a significantly more productive way to get apps going. The language and the approach are hard to separate but it’s worth playing with it just for the fresh ideas. Really, I can see how it blew the cobwebs out of some Java web minds and got fresh thinking going. It’s simple, it’s fast, it’s designed to evolve logically. It uses a combination of generated code, run-time reflection, ORM component, MVC separation and more to serve up a skeletal web app with a minimum of code (really little, just ER sketches in Ruby classes). Then you incrementally replace the scaffolding with custom controller actions and views as you want to. I wish to import some of these things to the way web apps are built in Java. Certainly, some will come.
Java web stuff is so thick these days, in good and bad ways. Tons of practitioners, open source frameworks, standards, tools, on-line resources and paper books, globs of blogs and more than enough rope. My favorite stuff, like Spring, tries to play with everyone through abstractions and interfaces…leaving you with too many choices sometimes. Rails has a fresh simplicity to it; good choices appear to have been made and certainly the constraints become apparent eventually but it doesn’t look like a simple deception. It feels like innovation to me.
That said, I haven’t used it to design and build commercial-grade apps, or run it in production, with a team, under load, etc. But the ideas are fun and it’s affirming to see it emerge in response to real challenges.