Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
Get a full dump of the dictionary:
List of Names
- Language type:
Ruby is an interpreted scripting language,
fully object-oriented and designed for
The syntax of Ruby is simple but bears a
strong resemblance to Perl. All data
types in Ruby are object classes, like in
Smalltalk. Pre-defined data types include
integer and float numeric types, strings,
arrays and hash tables, and structures.
Control constructs in Ruby include a
wide variety of conditionals and
several kinds of loops, along with several
controls structure variations like
break and continue.
Ruby does not have declarations; variables
are weakly typed, and their scope is
denoted by prefixes.
Ruby supports many important OO
features, including classes with
inheritance, class methods, and even
closures. Ruby also supports
exceptions with functionality
similar to that of Java.
Ruby supports a variety of kinds of
introspection, including Java-style reflection
and Lisp-style enumeration of active objects.
The syntax of Ruby's reflection support is
simpler than that of Java.
Ruby does support threading.
There is only one implementation of Ruby;
it is free open-source. Documentation for
Ruby is available on the WWW, and there
are also several published books about
Y. Matsumoto and others, 1993-95.
- See Also:
The current version of Ruby is 1.6.5,
as of Sep 2001; it
is available for Linux and other Unix
systems, Windows, and some other
platforms. Ruby is normally distributed
as source code, but pre-compiled binaries
are available for many of the supported
While Ruby resembles Perl in many respects,
it differs substantially in its representation
of data. Perl treats numeric data, strings,
lists, and hashes as built-in types, while
Ruby implements everything as objects.
Another interesting aspect of Ruby is its
notion of Modules. A class can implement
any number of modules; they are similar
to Java interfaces and to Flavors Lisp
There are many extension libraries and
toolkits available for Ruby, including
database, network, GUI, IO libraries.
The Ruby OOP language is at least the 3rd
programming language to bear that name.
The first was a teaching language Ruby
from the late 1960s, it was based on
Markov processes. The second was a
hardware specification language based on
higher-order functions, from the mid-1980s.
- Sample code:
A sample from the Ruby distribution, a simple
# sieve of Eratosthenes
max = Integer(ARGV.shift || 100)
sieve = 
for i in 2 .. max
sieve[i] = i
for i in 2 .. Math.sqrt(max)
next unless sieve[i]
(i*i).step(max, i) do |j|
sieve[j] = nil
puts sieve.compact.join ", "
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is firstname.lastname@example.org
[Ziring MicroWeb Home]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.