Hot skills: Ruby on Rails

Skills for IT professionals: Ruby on Rails

What is it?

Ruby on Rails is being taken seriously - and that includes coming in for serious criticism over issues such as scalability. Ruby on Rails is an open source web application framework using the Ruby programming language, and usage has risen rapidly in the last two years. Most industry services have it still trailing PHP, Perl and Python, but catching up fast.

Some commentators have predicted a return to the devil-you-know in the uncertain times ahead, with a resurgence of C, Java and Javascript at the expense of the open source scripting languages. But there is currently no shortage of employers looking for Ruby on Rails skills, nor of commitment from major suppliers. IBM was an early supporter, with drivers and adapters for DB2 and other key platforms. Oracle offers a driver, but gives Ruby on Rails less wholehearted support. Sun includes it in its OpenSolaris webstack.

Problems last spring at Twitter, the biggest Ruby on Rails site, led to speculation that the platform would be abandoned, but Twitter still champions Ruby on Rails, saying, "It allows us to work quickly and easily - our team likes to deploy features and changes multiple times per day. Rails provides skeleton code frameworks so we do not have to re-invent the wheel every time we want to add something simple."

Where did it originate?

Ruby was created in 1995 by Yukihiro Matsumoto, who wanted a language geared to the needs of the programmer rather than the machine. Although it has been around as long as Java, Ruby was a minority interest until David Heinemeier Hansson released Ruby on Rails in 2004.

What's it for?

Ruby is an interpreted scripting language for object-oriented programming. Enthusiasts describe it as simple, straightforward, extensible, and portable. Ruby follows a few simple precepts, such as "Do not repeat yourself" and "convention over configuration", both aimed at encouraging developers to reduce unnecessary complications and the amount of code they have to write.

Rails uses the Model-View-Controller (MVC) architecture pattern, and as the Twitter quote above implies, provides a "scaffolding" which can automatically construct some of the models and views needed for a basic website. Ruby on Rails offers both HTML and XML as output formats, and can be used in Ajax development and in building Restful web services.

What makes it special?

The combination of Ruby and Rails is said to provide big productivity gains.

How difficult is it to master?

Ruby's syntax is based on Perl. The Ruby FAQ says, "If you like Perl, you will like Ruby and be right at home with its syntax If you like Python, you may or may not be put off by the huge difference in design philosophy between Python and Ruby/Perl." IDEs that make life easier for beginners include Aptana's RadRails.

Where is it used?

Yellow Pages, MTV Style, the Oracle Mix developer community site.

What systems does it run on?

The Ruby programming language and Ruby on Rails run on Linux and Unix, Mac OS X, and also on Windows although Microsoft supports Rails, there may be performance issues and some unavailable features.

What's coming up?

In December, it was announced that Rails 3.0, due later this year, would merge the best features of the rival Merb framework for Ruby, generally regarded as providing the kind of scalability and performance that enterprise applications need.

Rates of Pay

Ruby on Rails developers earn £30,000 to £45,000.


See the Ruby on Rails website for tutorials. There are many other sources: a selection can be found at Digital Media Minute.

Read more on Web software