Ruby on Rails Moves at Acela Rates Toward Java

The open-source Ruby on Rails framework is putting pressure on Java as a Web development solution. David Heinemeier Hansson, creator of Ruby on Rails, tells eWEEK why.

If Java is a steady freight train, then Ruby on Rails is one of the sleek, super-fast Acela trains that whoosh travelers along Amtraks Northeast Corridor.

Java has come under pressure as being unfit for the Web tier because of its complexity, while scripting or dynamic languages such as PHP, Perl and Python continue to gain acceptance because of their ease of use and performance.

At both the EclipseCon and TheServerSide Java Symposium last week, two major Java-oriented events, the mantra seemed to be about how to make Java more like Ruby on Rails.

Indeed, due to the complexity of Java and the Java Enterprise Edition platform, several Java development framework projects sprang up to provide Java developers with lighter-weight, simpler-to-use options, including RIFE, Seam, Spring, Tapestry and Trails, among others.

/zimages/4/28571.gifThe open-source RIFE framework offers Java developers flexibility. Click here to read more.

However, the non-Java Ruby on Rails, which is based on the Ruby dynamic language, has posed perhaps the biggest threat to Java development on the Web tier.

And perhaps the biggest Java "pressure-izer" is David Heinemeier Hansson, the creator of Ruby on Rails, who shared his thoughts on the new development landscape with eWEEK.

"I think the dynamic languages are posing the greatest threat that Java has yet to face," Heinemeier Hansson said. "Microsofts C# was more of the same and from a closed-source company at that. Lots of reasons to ignore. The dynamic languages, and perhaps Ruby on Rails in particular, are a faster, better and free way for a huge chunk of possible applications."

/zimages/4/28571.gifDavid Heinemeier Hansson says he created Ruby on Rails to "make programmers happy." Click here to read his interview with eWEEK.

There is little doubt the Java world is feeling the pressure from dynamic languages. Javas creator, James Gosling, cites a flamefest he incited by simply defending his position regarding dynamic languages. And at TSSJS, a panel of Java experts spent the better part of their discussion on how Java is taking it on the chin from dynamic languages.

"I think Rails is making the dynamic story too hard to ignore," Heinemeier Hansson said. "With Perl and PHP, it was easy to ignore. Sure they got stuff done fast, but they also [allegedly] produced unmaintainable code. So the Java guys could lean back with content thinking that the complexities of their stacks were simple, inherent to solving substantial problems with maintainable code."

Moreover, "Ruby on Rails comes along and shows the world that you can have your cake and eat it too," Heinemeier Hansson said. Ruby on Rails shows "that you can be dynamic like PHP and Perl while still being even more maintainable and clean than Java," he said. "This naturally presents the Java world with a conundrum. Even more so because they used to be able to claim that only Java [with Sun and IBM behind it] had the marketing clout needed to go somewhere in this world. But now Rails is all the rage. What are good minds to do?"

During his keynote at TSSJS, Geir Magnusson, a member of the Apache Software Foundation and an engineer responsible for architecture for Intels Middleware Products Division, asked the audience how many had tried out Ruby on Rails. More than half of those in attendance raised their hands. However, when he asked how many had done a production application with the framework, all but two or three people took their hands down.

That impromptu poll suggested that enterprise Java developers may not be ready to turn over key applications to Ruby on Rails.

However, "What Ive been seeing is that many Java developers flee upstream," Heinemeier Hansson said. "Theyve conceded the low end—which is another word for what most people need most of the time—and aimed their aspirations at the really hard problems … that require real men with statically typed languages!" he said.

Next Page: Java: Best language for all tasks?