X

Ruby on Rails chases simplicity in programming

Solo-created framework is making waves among programmers and analysts as the next hot trend in Web development.

Martin LaMonica Former Staff writer, CNET News
Martin LaMonica is a senior writer covering green tech and cutting-edge technologies. He joined CNET in 2002 to cover enterprise IT and Web development and was previously executive editor of IT publication InfoWorld.
Martin LaMonica
5 min read
Can one man and a mantra of "radical simplicity" change the world of Web development?

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.

News.context

What's new:
Ruby on Rails, a relatively new Web development framework, has become popular among programmers for its simplicity and productivity.

Bottom line:
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.

More stories on Web development tools

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."

Listen up

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
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

called stored procedures, is very much an asset and an example of how contrarian thinking can be innovative.

"We took a pretty radical stand: Stored procedures and all things that make your database clever are evil," Hansson said. "If you tell a lot of IT shops that, they'll be majorly offended, because that's just the way they do things."

With future enhancements, he intends to take the idea of simplicity beyond writing code to different areas of the development lifecycle. One idea is to include tools to easily deploy Web applications onto clusters.

"This is exactly how things like Linux got started."
--Richard Monson-Haefel, analyst, Burton Group

Hansson thinks that the current interest in Ruby on Rails is the "tip of the iceberg." And like others, analyst Monson-Haefel agrees that Ruby on Rails has a good future.

As an open-source project leader, Hansson has the right traits: He's willing to take contributions from others, he knows the product well, and he's constantly promoting it, Monson-Haefel said. "This is exactly how things like Linux got started," he added.

Despite the interest in Ruby on Rails, Hansson never had any intention of setting the Web development world on fire. The project grew out of practical necessity, a philosophy he intends to maintain in the Ruby on Rails open-source project.

In 2003, Hansson was working as a consultant for 37signals, a company that sells hosted project management and personal organizer applications.

During that development project, he discovered Ruby , a scripting language developed in Japan in the 1990s. To speed up his own work, he developed templates to complement that basic Ruby language.

About halfway through a project, he decided his templates could be packaged as a framework that could be used for all manner of Web development. In July 2004, he released Ruby on Rails and began actively promoting it.

Now a principal at 37signals, Hansson has no plans to commit his efforts full-time to Ruby on Rails. Remaining at 37signals as a programmer will ensure that the project continues to be practical, he said.

"If there is one thing that will kill Rails, it's to put people on it who are no longer in touch," said Hansson, adding that he has recruited like-minded, practical people to work on the open-source project.

The decision to start an open-source project was a business, rather than a personal, decision. By getting outside contributors, his employer can improve Ruby on Rails faster.

"Open source is a better business model for developing infrastructure code," Hansson said. "There are a handful of companies that have any business selling infrastructure software. It's really laughable for other entities to try."