Hot Skills: Ruby and Ruby on Rails

Ruby is a dynamic, object-oriented programming language which has been in public use since the mid-1990s - longer than either Java or PHP.

What is Ruby?

Ruby is a dynamic, object-oriented programming language which has been in public use since the mid-1990s - longer than either Java or PHP. Despite its advantages, it remained a minority interest until the development of the Ruby on Rails web application framework a few years ago.

Ruby on Rails set out to make it easier to create database-driven web applications. Proponents of the system say web applications can be developed up to 10 times faster than they could be using other frameworks.

Ruby on Rails is an open source project. At first it was confined to the open source MySQL and PostgreSQL, and to "greenfield" developments, but its use has expanded to most leading databases. Oracle supports it, and IBM has released a Rails adaptor for DB2. It is also used with Microsoft's SQL Server. Apple is shipping Ruby on Rails with Mac OS X v10.5.

"If you wanted to expand your CV, I can think of no other language I would recommend more highly than Ruby," said the author of the Ruby On Rails On Oracle tutorial on Oracle's website. "Ruby is a delight to work with and, in many cases, is an order of magnitude more productive than Java , C, or Microsoft .net."

Where did it originate?

Ruby was created by Yukihiro Matsumoto and released in 1995. Matsumoto perceived a tendency for languages and techniques to concentrate on the needs of the machine rather than the developer. He aimed to buck the trend.

Ruby on Rails was developed by David Heinemeier Hansson of the web design company 37signals. It was released in 2004.

What's it for?

Ruby follows a few simple precepts, such as "don't repeat yourself" and "convention over configuration". For example, using the same name for the database table and the corresponding data model class eliminates the need to write mapping code. Ruby supports multiple programming paradigms: object-oriented, procedural, and functional.

Like Struts and other web frameworks, Ruby on Rails uses the Model-View-Controller (MVC) architecture for organising applications, which separates different levels of the application, so that, for example, the user interface can be changed without touching the data model. Ruby on Rails is designed to generate web applications from existing database schema. It adds keywords to Ruby to make web applications easier to configure.

What makes it special?

Fewer lines of code means faster development, fewer bugs, and easier maintenance.

How difficult is it to master?

Ruby's creator was a C++ developer. The syntax is similar to Perl and Python, and there are similarities to Smalltalk, although recently the biggest following has come from Java and PHP developers. The Ruby website has a tutorial promising "Ruby In 20 Minutes", and offers guidance on moving to Ruby from other languages. There are tutorials on the Ruby on Rails website that enable you to develop small functional applications at the first sitting.

What systems does it run on?

Ruby on Rails works with web servers such as Apache, and with databases including MySQL, PostgreSQL, SQLite, Oracle database, SQL Server, and DB2.

Rates of pay

Developers with Ruby and Ruby on Rails skills can expect a salary of £25,000 to £32,000.

Computer Weekly salary survey >>


Downloads, tutorials, and PDF books on the Ruby website >>

A tutorial on using Ruby on Rails in combination with Oracle >> 

An introduction to using Ruby on Rails for DB2 developers >>

Useful resources

Interview with Ruby's creator >>

Ruby on Rails plugin directory >>

Ruby user guide >>

Next Steps

How and why testers should learn how to code

Read more on Software development tools