CSC/ECE 517 Fall 2011/ch1 2a av
Introduction to Ruby
Ruby is a dynamic, reflective, object oriented, single-pass interpreted programming language. Ruby was influenced by Perl, Smalltalk, Eiffel and Lisp. It supports functional, imperative, reflective, object oriented and many other programming paradigms.
Ruby is said to incorporate the "Principle of Lease Surprise" or "Principle of Lease Astonishment".
History
Ruby was created in 1993 in Japan, by Yukihiro Matsumoto ("Matz"). The intent of developing Ruby was to have a new language that balance functional programming and iterative programming. Matsumoto has also stated that he wanted a scripting language that was more powerful than Perl and more Object Oriented than Python.(ref)
Naming
The terms "Coral" and "Ruby" were the two proposed names for the language. Matsumoto's choose the term "Ruby" because it was one of his colleague’s birthstone.
Releases and Versions
Ruby 0.95 was the first public release in 1995. Three more versions were released immediately.
Ruby 1.0 was released in 1996.
Ruby 1.3 was the next release in 1999.
Since then several versions of Ruby have been released with added concepts and features.
The recent stable version is Ruby 1.9.2 which has significant improvements over Ruby 1.8 series.
Currently, Ruby 1.9.3 is under development with a dual-license of Ruby and BSD.
Ruby on Rails
With the release of Ruby on Rails in 2005, an MVC based web development framework written in Ruby, the new language gained mass acceptance and became famous.
In 2006, active user groups were formed in the world's major cities and several Ruby related conferences were held, making it one of the most popular and widely acceptable language. In 2007, TIOBE programming language popularity index (link) state Ruby as the 10th most popular language.
Features
Purely object oriented
Dynamically types
Blocks and Closures
Built in Iterators
Multiple Inheritance through Mixins
Unbounded Polymorphism - "Duck Typing"
Reflection
Metaprogramming
Syntax level Perl compatible for regular expressions
Built-in support for certain Design Patterns
Mark-and-Sweep garbage collection
OS independent threading
Easy interface to C modules
Portable easily
Ruby was developed on GNU/Linux. It is portable and works on several types of UNIX, DOS, BeOS, OS/2, Mac OS X, Windows 95/98/Me/NT/2000/XP/Vista/7, etc.
Downloads and Installation
The main website for Ruby is http://www.ruby-lang.org/en/.
Ruby downloads and installation instructions can be found at http://www.rubylang.org/en/downloads/. Ruby can be installed by either building it from source or by using the one-click Ruby installer for Windows. Using the one-click Rails Installer for Windows, one can install Ruby and Rails together.
One can also use Ruby online at http://www.tryruby.org/.