Reprinted with permission © 2008 TreeTop Technologies
Sometimes, glitter means glitz (or hype) rather than gold, but Ruby on Rails actually seems to be quite the gem. An open-source web application framework for the Ruby programming language, Ruby on Rails comes with several tools. It is designed to be an out-of-the-box application that can make commonplace development tasks easier.
Ruby entered the scene back in 1995 as an alternative to languages like Perl and Python, but the rails option is what is really creating the buzz now. It first appeared four years ago and got its biggest boost in August 2006 when the folks at Apple announced they would ship Ruby on Rails with Mac OS X v10.5 Leopard in October 2007.
One of the big advantages of Ruby on Rails is that you worry less about common architecture problems like software components, persistence, logging, build scripts, application configuration, web tier components and workflow. This means you can start working on your actual business problem much sooner and get a working system up faster. You can begin to be productive in a matter of hours or days instead of weeks or months.
Also, many users have been pleased to find that Ruby is a truly full-featured object-oriented language—it adds additional “oomph” with mixins, which are modules containing independent code to simplify client code behavior. All in all, Ruby has more dynamic power compared to static languages like .NET and Java.
However, there are limitations. One of the most common complaints has been scalability. Ruby on Rails may be best considered for smaller projects with low- to medium-sized traffic loads. Some have argued it can be scalable for larger projects, but be prepared to do your homework. There’s a steep slope to get it working right for large projects. Clusters are probable for even moderate traffic. The next speed bump is that existing backend systems might not always play well with Ruby. It has the tendency to create bottlenecks for your database traffic. Some say this is why a major social networking provider has either given up on (or merely delayed, depending on whom you talk to) its move to Ruby on Rails.
Ruby is a great language and Ruby on Rails offers much potential, but easier doesn’t mean easy. You still have a learning curve and you may need to unlearn a lot of your clunkier habits from other programming languages.
Action Item:
Footnotes: From "View from the TreeTop" Volume 2 Issue 9 September 2008