October 31, 2005 4:00 AM PST
Ruby on Rails chases simplicity in programming
David Heinemeier Hansson, a 26-year-old Copenhagen native, has built a "framework" to help Web developers be more productive and has released the package of tools through an open-source project.
His software, Ruby on Rails, only out for a little more than a year, has started a buzz among the legions of developers and high-level executives that track the trend-driven world of software development.
Ruby on Rails, a relatively new Web development framework, has become popular among programmers for its simplicity and productivity.
Although created by just one person, the software is having an impact and getting noticed by pioneering programmers eager to spot hot, new trends. Some analysts are recommending it for new Web applications.
Hansson's quest to build a practical and productive Web development framework demonstrates how a single person can shake up the status quo, even in a development world where a few companies dominate.
The trick, said Hansson, is to "slaughter the holy cows," the well-understood ideas of computer science that dictate how programmers work. In many cases, software vendors design products for difficult problems, an approach that leads to excess complexity, he said.
His goal with Ruby on Rails is not to create a sophisticated development framework that the engineers at Google or Amazon.com will flock to. Instead, he has focused on creating templates and designs that tackle the unglamorous problems, such as making database modifications, that the great majority of Web developers face every day.
"The major delusion I want to shatter is that you can successfully use the same types and tools for solving the biggest problems in the world and have a pleasant time applying that to solving the normal problems of the world," Hansson said.
Ruby on Rails is not used nearly as much as other Web tools such as PHP, Java or Microsoft tools. But it has caught the attention of some of the influential programmers who help popularize new products.
David Geary, who has authored books on Java and sits on the technical committee for the latest Java Web programming model, has found that Ruby on Rails is five to 10 times faster than comparable Java frameworks. Like Java did a decade ago, Ruby on Rails is getting developers excited by making them more productive, he said.
Clearing the tracks
"No other alternative in enterprise computing has nearly as much mindshare as Rails," Geary wrote in a blog posting. "Will Rails hit a tipping point and become widely adopted in the near future? I am certain of it."
CNET News.com reporter Martin LaMonica talks with Ruby on Rails creator David Heinemeier Hansson about why the software is getting noticed.
Listen now... (3.2MB mp3)
The vision of Ruby on Rails, or RoR, is to combine the speed and ease-of-use of scripting language PHP with the "clean," structured approach of Java, Hansson explained. That combination makes code quick to write and easy to maintain over time, he said.
"We're trying to fuse those two extremes (of Java and PHP) and be quick and clean," Hansson said. PHP applications are difficult to maintain, while Java Enterprise Edition software is a "complex monstrosity" that's hard to learn, he said.
There is currently one book on Ruby on Rails, but seven or eight are being written now. The first conference of Ruby developers last year had 60 people; this year there were about 200, the majority of whom were doing commercial development, Hansson said. He predicts 800 attendees will be at next year's conference.
The interest in Ruby on Rails is fueled in part by a larger trend toward scripting languages that aim to replace Java or Microsoft's C# language. Scripting, or "dynamic," languages such as Python, PHP and Ruby are simpler to learn, according to analysts and developers.
David Heinemeier Hansson
Creator, Ruby on Rails
Research company Burton Group recommends that corporate customers consider Ruby on Rails for new Web development projects. The tool set is particularly useful for "Web 2.0-style" applications that may be hosted, said Burton Group analyst Richard Monson-Haefel. Ruby on Rails allows developers to build interactive Web pages using the AJAX set of development techniques.
But because Ruby on Rails takes some unconventional approaches, notably in databases, it does have some limitations, he said.
"It's really only practical in cases where you have complete control over the database schema or you're doing a new 'green field' application," Monson-Haefel said.
For Hansson, his decision to not support common database features, notably programs
21 commentsJoin the conversation! Add your comment