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 >>
Training
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 >>