October 31, 2005 4:00 AM PST

Ruby on Rails chases simplicity in programming

(continued from previous page)

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

Previous page
Page 1 | 2

See more CNET content tagged:
Ruby on Rails, Web development, programming model, programmer, simplicity

21 comments

Join the conversation!
Add your comment
RoR clarifications
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.
Posted by WebProgrammer (12 comments )
Reply Link Flag
Performance
I have found very little trouble in the way of performance. My criteria may be different than yours. With 150 users, I need sub 2 second responses. I have never had a problem.

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.
Posted by amadensor (248 comments )
Link Flag
Agreement
I like this open source software. RoR was very easy to install and configure on a linux system. It took less than 10 minutes after installation and configuration to come up with a working web-application based on a simple MySQL database. As a disclaimer I must admit my initial application did not have a well-polished gui. However, after continuous usage using the built-in RoR web server, I noticed that execution is a bit slower than a compiled Microsoft.Net web application for the same database. I have not been able to test RoR using apache yet, I hope to get better results when I do. The Microsoft.Net application is well polished as it had been in development longer, but the development of the Microsoft.Net web application took considerably longer than the RoR version (10 days vs 10 minutes is no contest).

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.
Posted by oparay (2 comments )
Link Flag
Ruby is hot, Zope is hotter, IMHO.
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. :)
Posted by (9 comments )
Reply Link Flag
Agreed - also Zope has Plone CMS
Zope and Python are great and similar to RoR in many ways from what I can see. What realy makes Zope the standout choice for me is the existence of the Plone Content Management System (http:;//www.plone.org).

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.
Posted by tapple (1 comment )
Link Flag
Wouldn't be possible without Javaesque PHP 5
Just wanted to throw that in.
Posted by Blito (436 comments )
Reply Link Flag
Yes it would.
Yes it would, especially considering Ruby on Rails is not a PHP framework at all. It's a Ruby framework. Java is great, but is only one (and not the first) of a great many oo languages.
Posted by namelessmike (1 comment )
Link Flag
wish adobe would embrace the XML in KDE
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
Posted by (47 comments )
Reply Link Flag
Rais is to Ruby as ? is to PHP
"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, ( <a class="jive-link-external" href="http://" target="_newWindow">http://</a>
wasp.sourceforge.net ) are better.
Posted by bfioca (7 comments )
Reply Link Flag
URL
<a class="jive-link-external" href="http://wasp.sourceforge.net" target="_newWindow">http://wasp.sourceforge.net</a>
Posted by bfioca (7 comments )
Link Flag
Sorry, Rails is no Linux
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: <a class="jive-link-external" href="http://weblog.rubyonrails.com/archives/2005/10/28/don-t-be-so-arrogant" target="_newWindow">http://weblog.rubyonrails.com/archives/2005/10/28/don-t-be-so-arrogant</a>
Posted by PragmaticIdealist (10 comments )
Reply Link Flag
page not found
:(
Posted by gesslar (21 comments )
Link Flag
Don't Kill The Holy Cow's
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 <a class="jive-link-external" href="http://www.holycow.org" target="_newWindow">http://www.holycow.org</a>
Posted by ron williams (34 comments )
Reply Link Flag
Ignore the database at your peril
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.
Posted by parasubvert (19 comments )
Reply Link Flag
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 &lt;a href="http://www.crapshints.net"&gt;Tips on how to play craps&lt;/a&gt;
Posted by sanyia (2 comments )
Reply Link Flag
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
Posted by sanyia (2 comments )
Reply Link Flag
 

Join the conversation

Add your comment

The posting of advertisements, profanity, or personal attacks is prohibited. Click here to review our Terms of Use.

What's Hot

Discussions

Shared

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.