- Related Stories
-
Ajax gives software a fresh look
October 4, 2005 -
From Web page to Web platform
August 16, 2005 -
Grassroots computing languages hit the big time
May 13, 2005
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.
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.
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 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, programming model, Java, programmer




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.
That said, on data entry areas, I need faster response, as in faster then the data entry people can type, and I have achieved instant response using AJAX.
My hope is that RoR will eventually include the following as it matures:
1. The ability to compile generated scripts into actual computer code to make them run faster.
2. The ability to use other scripting languages
3. A huge library of buttons, code, components and grids that a developer can use in web applications
Yes, I know what I have typed sounds like the features present in Microsoft.Net, that is exactly the point: A highly productive and easy to install/configure/generate framework with rapid execution, multiple supported programming languages and a huge library of web-based classes and gui objects would be a great godsend to programmers.
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. :)
I've found that a Content Management System can be an incredible productivity booster for the web based application development cycle. A CMS allows for non-technical individuals to update and maintain general site content, freeing up developers and designers to focus on new features and functionality. Plone offers an out of the box CMS system complete with Acceess Control Layer, workflow, presentation logic and a ton of other nifty features (even *gasp* "AJAX" support).
I think PHP has their equivalent with Joomla, but I don't see a similar framework in the RoR stack as of yet.
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
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.
"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
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.
- by sanyia May 6, 2009 2:22 AM PDT
- 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. 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, Hanson 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....http://www.crapshints.net
- Reply to this comment
-
(21 Comments)