When a respected member of the Java development community says it may be time to look around for a successor to Java, it sort of catches your attention.
In Beyond Java, Bruce Tate describes the epiphany he reached when one of his clients dumped Java right in the middle of development of an application. Tate and his partner had decided, perhaps in one of those fits of whimsy that can hit you when you're busiest, to rewrite one component of the application in Rails. Just, you know, out of curiosity.
Tate says it shook him to his Java-loving core when the Rails rewrite took four nights of coding compared to four months for the Java build, then outperformed the Java version while weighing in at about a fifth the number of lines of code.
Remember that scene in My Cousin Vinny where sort-of lawyer Vinny Gambini (Joe Pesci) utterly destroys a witness and the formerly skeptical defendant jumps up, fires the stuttering public defender, points to Vinny, and declares, "I want him"? Apparently, Tate's client fired Java like a lawyer with a speech impediment.
The experience drove Tate to consider alternatives to Java. Of course, neither Tate nor anyone else expects Java to lose dominance soon. If you believe IBM, in a given day the world sees more COBOL transactions processed than web pages viewed. De gustibus non disputandum est, and languages don't die overnight. But Tate was forced to conclude that Rails just might have what it takes to supplant Java for certain purposes.
You've heard of Rails, of course. It's that hot Ruby-based Model-View-Controller-patterned full-stack framework for developing web applications that babysit databases.
Sorry; I should define my terms. Here's what I mean by "hot": At this year's Jolt Awards, Rails snagged the top prize for web development tools, while the top technical book pick was Agile Web Development with Rails. When the First International Rails Conference sold out in less than a week, the organizers added 150 seats—and sold all of those in 24 hours. In the past three months, Rails has been on the radar of publications ranging from BusinessWeek to Wired. Employers are starting to ask applicants for Ruby and Rails experience (so far, this only applies to applicants for programming jobs).
Rails 1.0 was released in December 2005, and there are a number of Rails-developed applications running on the Web right now—see the www.rubyonrails.org site or Wikipedia for lists. One such application, MeasureMap, was snapped up by Google.
Rails is clearly getting a lot of attention, but it's more than just the flavor of the month. For a growing number of web application developers, Rails seems to have hit some sort of sweet spot.