A interpreted object-oriented programming language based on the concepts of Smalltalk while being oriented to command-line processing almost exclusively, so it has a terse punctuation-style syntax with libraries centered around text-processing and Unix shell functionality. It interestingly supports continuations, although this is not an advertised feature.

Blocks of code can be used as first-level citizens, and standard library makes pervasive use of this. The preferred idiom of iterating over collections uses blocks in combination with a mapping method. This kind of visitor pattern is used extensively in Ruby and Smalltalk code, and usually makes it much easier to read than anonymous inner classes in Java or function pointers in the C language, although the relation to proper lexical closures is shaky.

While complex programs are usually easy to write and maintain in Ruby, the dynamic nature and simple implementation of Ruby makes it also quite slow, even when compared to other interpreted languages like Python.

This page is linked from: Design by Contract   Languages ToDo   Parrot   Python   Sather