20 July 2007


Ruby is an open-source object-oriented general purpose programming language. It is implemented with an interpreter, although compilers have recently become available for Ruby [*].

The main selling point of Ruby is that it is exceptionally easy to learn. However, it also has the big advantage of the Ruby on Rails application, which has made the Ruby language especially useful for developing interactive websites for organizations. Another popular package that competes with Ruby (after a fashion) is Drupal. One feature I've noticed, though, is that, the Ruby on Rails application has as its main selling point the Ruby language; the whole point is that one has a language that is very simple and an integrated development environment (IDE) that automates most of the coding process anyway. In contrast, Drupal is a completed CMS; there's no need to know PHP in order to use it.

Ruby was developed by Yukihiro "Matz" Matsumoto, a Japanese national. The basic design concept was to have the interpreter do most of the work of the programming, and to make the syntax as predictable as possible ("principle of least surprise"). One strategy, for example, was to have everything be an object. Mostly Ruby is used to manage domain-specific databases, and the definition of variables or data items is sometimes a judgment call. In Ruby, everything is an object, including integers (normally "primitives" in object-oriented languages).

Another distinctive feature of Ruby is that the class structure (taxonomy) of objects does not support multiple inheritance; objects may only belong to a single subclass. Procedural syntax is supported, but all methods defined outside of the scope of a particular object are actually methods of the universal Object() class. Since every other class is a subclass of this one, the changes are inherited by all objects of each class.
SOURCES & ADDITIONAL READING: Ruby, "What's Ruby?"; Wikipedia, Ruby (programming language); Ruby-on-Page; "Why's Poignant Guide to Ruby" (highly unorthodox);

Developer Shed, "Web Development: Ruby on Rails";

Labels: , , , , , ,


Post a Comment

<< Home