В 1995 г. японский разработчик свободного ПО Юкихиро Мацумото (также известный как Matz) придумал свой собственный язык программирования Ruby и написал для него интерпретатор. В одном из интервью Matz сказал: «Мне был нужен «скриптовый» язык, более мощный, чем Perl, и более объектно-ориентированный, чем Python. Поэтому я решил создать свой собственный язык программирования».
Кроссплатформная реализация интерпретатора языка распространяется с открытыми исходными текстами, возможностью копирования и модификации.
Ruby — интерпретируемый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Он обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, «сборщиком мусора» и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно-ориентированному подходу — к Smalltalk. Некоторые черты языка взяты из Python, LISP, Dylan и CLU.
Одно из ее главных преимуществ в том, что эта среда не разрабатывалась с нуля, а была выделена из успешно работающего интернет-приложения Basecamp (http://basecamphq.com) — программы для управления проектами.
Итак, в основе Rails лежат два компонента, определившие ее успех, — это объектно-ориентированный язык Ruby и трехзвенная архитектура MVC.