The story of Ruby on Rails

from the beginning until now

Ruby is an efficient language

Yukihiro “Matz” Matsumoto created Ruby in 1993, the year Windows NT 3.1 was launched. Simply put, Ruby is a really powerful, genuinely object-oriented language combining syntax inspired by Perl and Python with Smalltalk-like features.

I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That’s why I decided to design my own language.

Yukihiro Matsumoto, Ruby's creator

Ruby was first released - open source - only two years later. Ruby 0.95 was made public in 1995, and Ruby 1.0 the following year.

From that point on, Ruby releases came out much faster, usually once a year. Ruby language progressively became more consistent. Major releases are Ruby 1.2.0 in December 1998, Ruby 1.4.0 in August 1999 and Ruby 1.6.0 in September 2000. On August 4th 2003, Ruby 1.8.0 marked the beginning of the popularization of Ruby.

The Agile movement

Around the same time, in 2001, a vanguard IT project management movement focusing on user-centric development regrouped around the Agile Alliance. The key founders, originally working on RAD (Rapid Application Development), wrote the Manifesto for Agile Software Development.

Our teams try to follow these 12 development principles everyday.

Ruby on Rails for efficient development

David Heinemeier Hansson (DHH) was inspired by these principles and developed the BaseCamp web app with Ruby. To help with its development, he progressively created the Ruby on Rails framework that came to be in 2003.

Basecamp was developed as a user-centric project management tool in which communication is the priority, be it between business people and developers or within the development team.

Ruby on Rails was developed under the influence of the Agile Alliance and benefited greatly from the reflexion on project management that took place during the development of BaseCamp. Ruby is a practical framework, based on real needs. DHH wrote on this subject in several books, and more specifically in Programming Ruby, the updated reference book on Ruby 1.9.

The connections between Agile and Ruby on Rails are tight. Dave Thomas, one of the pioneers of the Agile Alliance, co-authored Agile Web Development with Rails, the first book on Ruby.

Ruby on Rails was released for the first time in July 2004. It was extracted from the BaseCamp 2 project. This first version impressed DHH’s peers so much he won Best Hacker of the Year 2005 from O’Reilly. DHH kept on developing Ruby on Rails and by the end of 2005, Rails 1.0 - the first stable version – was released. In March 2006, Rails 1.1 corrected a few bugs.

The same year, another developer who was using Ruby on Rails also released a framework: Merb. His name was Ezra Zygmuntowicz, and the light, minimal framework he created had the advantage of a rigorous API for extensions. At the time, the community was split between the Rails and Merb frameworks, causing a real online comment war.

In spite of this conflict, Ruby on Rails remained the most popular framework and its development went on. 2007 was an important year for Rails and Ruby. Thanks to Rails, Ruby became known outside Japan, and Ruby 1.8.5 was used throughout the world.

Released on September 30th 2007, Ruby on Rails 2.0 helped the framework spread even further. It is no coincidence Twitter was first released the same year; in the beginning, the social media was developed in Ruby on Rails, and became one of the largest website running on this framework.

There were no major changes until January 30th 2009, with the release of Ruby 1.9. The first stable version was Ruby 1.9.1. The last one, Ruby 1.9.3, went public on October 2011. Ruby on Rails went on developing Ruby 2 until its last release on February 8th 2011.

At the same time, DHH was working on Rails 3 and got in touch with the founder of Merb. They realised both frameworks shared the same goal: rapid application development. Together, they decided to put an end to the bickering between Merb and Rails and to merge the two frameworks, giving Rails 3 the best features of Merb, among which its modularity.

This is how Rails 3 came to be, on February 5th 2010. Its first stable version was released on June 16th 2011. Rails 3.2 is now the latest stable release, requiring at least Ruby 1.8.7 – Ruby 1.9.2 is recommended. Patchlevel 250 in Ruby 1.8.7 allowed the transition between Rails 2 and Rails 3. It is to be noted that Rails 2 is not compatible with Ruby 1.9, and that Rails 3.2 is the last release supporting Ruby 1.8.7. The following ones are only compatible with Ruby 1.9.x.

Ruby on Rails greatly benefited from the merge with Merb and from Agile principles, and is becoming increasingly practical and flexible. Ruby 4 is on the way, and we are expecting its release soon.