October 31, 2005 4:00 AM PST

Ruby on Rails chases simplicity in programming

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

See more CNET content tagged:
Ruby on Rails, Web development, framework, BEA Systems Inc., programming model

Add a Comment (Log in or register) 19 comments
RoR clarifications
by WebProgrammer October 31, 2005 9:30 AM PST
Let's clear some things up.

I have years of experience with Java/Struts/J2EE, PHP, and many other languages/frameworks, and have set up and benchmarked RoR applications recently. I used to be more enthusiastic about RoR, but when I tested it in August (I realize it was/is still beta) it had *major* performance problems. I understand both the tarpit of J2EE development and the amateur-hour nature of most PHP projects. Ruby is a beautiful, vastly more appealing language than either Java or PHP.

I greatly admire the goals of RoR and congratulate DHH both on his marketing skills and on pointing out that the J2EE emperor, particularly Struts, wears no clothes! But before we get too caught up in the hype, let's be real.

RoR *IS NOT* "five to 10 times faster than comparable Java frameworks". Not even close if you are talking performance. In fact, it is more like 30-40 times *SLOWER* than raw JSP with pooled JDBC connections, even after the virtually mandatory optimization of a persistent FastCGI interpreter.

Where RoR shines is on *productivity*. And I agree that a 5-10 fold increase in productivity is profoundly more important than a 5-10 fold increase in application speed. Usually the bottleneck in web apps is either the network or the database anyway, so maximizing execution speed is largely a waste of time beyond a certain level.

There are alternatives to RoR while it matures; Catalyst is a similar framework for Perl with much better performance and pluggable MVC components. ColdFusion is an ugly language and framework compared to RoR, but it has a lot of built-in functionality and very good performance since it is compiled into Java bytecode. Finally, there is ASP or ASP.NET with embedded Perl.

One of the key productivity benefits of Ruby over Java is the fact that it is a dynamic language, like Perl, Python, and even PHP. I am a Sun Certified Java 2 programmer, yet I feel Java and Microsoft's Java clone (C#), have virtually no place in web app development. Dynamic languages are the key! They are not necessarily "easier" than Java, but they let you get more done with less code. RoR is a nice, coherent framework with a beautiful dynamic language (Ruby), but until its performance issues are resolved I will be using Perl-based frameworks or ColdFusion.
Reply to this comment View all 2 replies
Ruby is hot, Zope is hotter, IMHO.
by October 31, 2005 9:42 AM PST
The whole concept of RoR is pretty darn cool, I have to say. However, after using it briefly, it occurred to me, I can develop just as fast in Zope. And if I can do that, why would I want to give up some of the power of the Zope object database AND stored procedures? It suddenly didn't make sense, for me, to follow RoR's ultra simple database design.

You don't need RoR for AJAX, and I have found it easy to do AJAX-type development with Zope, but you could also do it easily with PHP/ASP or others. You just need Dojo or Prototype/Scriptaculous for a common library. (in fact you dont even need those, they just make things easier)

I guess the thing I don't like about RoR, is that it's too simple. What if I *want* to build something out of a stored procedure? I also, don't want to be forced to name my columns the way RoR wants them. I know RoR can be extended to include other, more complex operations, so it will be a good fit for some, no doubt.

Completely my preference, but I like Zope, which is why I do Zajax, now. :)
Reply to this comment View reply
Wouldn't be possible without Javaesque PHP 5
by Blito October 31, 2005 10:58 AM PST
Just wanted to throw that in.
Reply to this comment View reply
wish adobe would embrace the XML in KDE
by October 31, 2005 12:39 PM PST
gui tools.. unfortuaitly I had to learn Netscape JavaScript and Allair Cold Fusion way back when.... and that was after learning cgi/perl... and after that I refuse to have to go through that process on a bi-yearly basis until every company and disgruntled plink slipped programmer had their say... I felt like I was playing musical chairs or something...

I have heard filemaker make promises for quite some time.. oh, well.. I will go study for my MCSA exams... let the gods drink their wine... lol
Reply to this comment
Rais is to Ruby as ? is to PHP
by bfioca October 31, 2005 3:02 PM PST
"PHP applications are difficult to maintain, while Java Enterprise
Edition software is a "complex monstrosity" that's hard to learn,
he said."

While I agree with the statement about Java, (speaking as a
former Java Programmer), I think it is a bit incorrect to say that
all PHP applications are difficult to maintain.

You could say that Ruby applications are hard to maintain, but
Ruby on Rails applications are better. In much the same way you
could say PHP applications are hard to maintain, but PHP
applications written in WASP, for example, ( http://
wasp.sourceforge.net ) are better.
Reply to this comment View reply
Sorry, Rails is no Linux
by PragmaticIdealist October 31, 2005 10:41 PM PST
Rails is no Linux. Linux is the result of a complex project managed by very mature person (by necessity.) Linux Torvolds has never acted as immmaturely as this: http://weblog.rubyonrails.com/archives/2005/10/28/don-t-be-so-arrogant
Reply to this comment View reply
Don't Kill The Holy Cow's
by ron williams October 31, 2005 10:48 PM PST
Quoting the story:
"The trick", said Hansson, is to "slaughter the holy cows"


Well, dont kill all the holy cows. I understand in what context he is using holy cows, but i thought it was funny since I run http://www.holycow.org
Reply to this comment
Ignore the database at your peril
by parasubvert November 1, 2005 6:04 AM PST
RoR will take off as soon as it moves past Hansson's bias against
databases. Any busy application that depends on a database will
live or die based on how it uses the database. Perhaps RoR is
targeting smaller applications, but in my experience, people want
to be productive AND they want the power to scale. Does RoR seek
to become the Microsoft Access of web frameworks? If so, great,
but I haven't seen too many developers getting six-figure salaries
making Access databases.
Reply to this comment
Powered by Jive Software
advertisement

Latest tech news headlines

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.

More feeds available in our RSS feed index.

advertisement
Click Here

Inside CNET News

Scroll Left Scroll Right
  • News - Business Tech

    Chrome's JavaScript challenge to Silverlight

    The advent of Google's Chrome browser, software pros say, should spur a big speedup for JavaScript, which would raise its standing against Microsoft's Silverlight technology.

  • Gallery

    Photos: Top 10 reviews of the week

    Here are CNET Reviews' 10 favorite items from the past week, including the TiVo HD XL, Sony Cyber-shot DSC-H50, and the Dish Network's newest digital TV converter box.

  • News - Apple

    Apple watchers spot 'iPod Nano' pix, iTunes hints

    The rumor mill has long been predicting a longer, leaner new version of the iPod Nano, and now it's conjuring up some pictures.

  • Outside the Lines

    EIC Squared: Chrome, iPods, and a Dell-Salesforce union

    On this week's EIC Squared podcast CNET's Dan Farber and ZDNet's Larry Dignan discuss Google's latest rocket launch--the Chrome browser--as well as Apple's iPod event next week and a Dell-Salesforce.com union.

  • Video

    Katie Couric reflects on first Webcast

    The political conventions are over and so are CBS Evening News anchor Katie Couric's first series of Webcasts. CNET's Kara Tsuboi sat down with Couric on the final night of the Republican National Convention to discuss what she liked about Webcasting, some of her most memorable guests, and whether TV news will still be around by the next round of conventions.

  • News - Digital Media

    At 10 years old, whither Google?

    Daniel Sieberg of CBS News looks at how the company grew exponentially from start-up to superstar and part of our culture, but what's ahead?

  • Video

    YouTube plays party politics

    During the presidential campaigning four years ago, YouTube didn't even exist. Now it's a tool candidates must master to get their message across. CNET's Kara Tsuboi stops by the YouTube upload booths at the Democratic and Republican conventions to find out why Google's video site has such a big presence in Denver and St. Paul, Minn.

  • News - Gaming and Culture

    Are Demo and TechCrunch50 fragmenting their audiences?

    With both events scheduled to start Monday, many press, as well as venture capitalists and others are having to choose which one to attend.

  • News - Cutting Edge

    Execs predict next Google-like tech

    On eve of company's 10-year anniversary, researchers and business pundits speculate about what technologies might someday have as much impact as Google.

  • Gallery

    Images: The art of 'Spore' prototypes

    Will Wright and his Maxis team worked on dozens of prototypes to test the elements of their soon-to-be-released evolution game. Here's a sampling.

  • Webware

    Mozilla releases second Firefox 3.1 alpha

    Added features include support for a new video tag element introduced with the HTML 5 standard, along with some speed enhancements.

  • Green Tech

    Duke Energy to invest in mini solar power plants

    Can hundreds of rooftop solar panels collectively operate like a central power plant? Duke Energy launches $100 million distributed solar program to find out.