Ruby on Rails Study Guide: The History of Rails

Ruby on Rails - or simply, Rails - is an open source, rapid web development framework, with a continuous goal of maximizing developer happiness and productivity. Created nearly a decade ago, Rails today forms the backbone of many of the most popular applications on the web, and has an incredibly vibrant and passionate community. In this study quide segment, we'll review the history of Ruby of Rails.

Study Guides: When applying for a programming job, you'll often be presented with a quiz that intends to determine your level of knowledge and experience in a given subject. The various articles in this series provide condensed solutions to the questions that you might expect to see on such tests.

The Foundation of Rails

Rails was created in 2003 by David Heinemeier Hansson, while working on the code base for Basecamp, a project management tool, by 37signals. David extracted Ruby on Rails and officially released it as open source code in July of 2004. Despite rapid iteration of the Rails code base throughout the years, it has stuck to three basic principles:

Ruby Programming Language

Model-View-Controller Architecture

Programmer Happiness

The Ruby Programming Language

Ruby on Rails is written in the programming language, Ruby, which was created by Yukihiro Matsumoto a.k.a. Matz in 1995. Matz created Ruby from some of his favorite programming languages, such as Lisp, Perl, and Ada, while placing significant emphasis on "trying to make Ruby natural, not simple." David, himself, fell in love with Ruby upon first using it.

Eventually, there was a huge surge in Ruby's popularity in the mid 2000s. Much of its success can be attributed to the popularity of Rails.

Model-View-Controller Architecture

Baked into the architecture of Rails is the software pattern, referred to as MVC (Model-View-Controller). This provides a clean isolation among the business logic in the Model, the user interface through the Views, as well as the processors handling all sorts of user requests in the Controller. This also makes for easier code maintenance.

Programmer Happiness

Rails heavily emphasizes "Convention over Configuration."

Rails was created with the goal of increasing programmers' happiness and productivity levels. In short, with Rails you can get started with a full-stack web application by quickly creating pages, templates and even query functions. Rails heavily emphasizes "Convention over Configuration." This means that a programmer only needs to specify and code out the non-standard parts of a program. Even though Rails comes with its own set of tools and settings, you're certainly not limited to them. Developers are free to configure their apps however they wish, though adopting conventions is certainly recommended.

A Look Back

As we look back at the history of Rails, let's review some of the more significant releases over the years.

Rails 1.0 (Dec 2005) - Mostly polishing up and closing pending tickets from the first release along with the inclusion of Scriptaculous 1.5 and Prototype 1.4.

Over the years, Rails has indeed made it easier for beginners to dive into web development, as well as build large complex applications - some of which include Twitter (at one point), GitHub and, of course, 37signals' very own Basecamp. Although it has often been criticized for performance and bloat, Rails continues its iterations along with an ever-growing developer community and a vibrant ecosystem.