What is Ruby?

Ruby is a simple and powerful object-orie nted programming language, created by Yukihiro Matsumoto (who goes by the handle “Matz” in this document and on the mailing lists).

Like Perl, Ruby is good at text processing. Like Smalltalk, everything in Ruby is an object, and Ruby has blocks, iterators, meta-classes and other good stuff.

You can use Ruby to write servers, experiment with prototypes, and for everyday programming tasks. As a fully-integrated object-oriented language, Ruby scales well.

Ruby features:

  • Simple syntax,
  • Basic OO features (classes, methods, objects, and so on),
  • Special OO features (mixins, singleton methods, renaming, and so on),
  • Operator overloading,
  • Exception handling,
  • Iterators and closures,
  • Garbage collection,
  • Dynamic loading (depending on the architecture),
  • High transportability (runs on various Unices, Windows, DOS, macOS, OS/2, Amiga, and so on).

Why the name “Ruby”?

Influenced by Perl, Matz wanted to use a jewel name for his new language, so he named Ruby after a colleague’s birthstone.

Later, he realized that Ruby comes right after Perl in several situations. In birthstones, pearl is June, ruby is July. When measuring font sizes, pearl is 5pt, ruby is 5.5pt. He thought Ruby was a good name for a programming language newer (and hopefully better) than Perl.

(Based on an explanation from Matz in [ruby-talk:00394] on June 11, 1999.)

What is the history of Ruby?

The following is a summary of a posting made by Matz in [ruby-talk:00382] on June 4, 1999. (The birthday of Ruby has been corrected in [ruby-list:15977].)

Well, Ruby was born on February 24, 1993. I was talking with my colleague about the possibility of an object-oriented scripting language. I knew Perl (Perl4, not Perl5), but I didn’t like it really, because it had the smell of a toy language (it still has). The object-oriented scripting language seemed very promising.

I knew Python then. But I didn’t like it, because I didn’t think it was a true object-oriented language—OO features appeared to be an add-on to the language. As a language manic and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for, but couldn’t find one.

So, I decided to make it. It took several months to make the interpreter run. I put into it the features I love to have in my language, such as iterators, exception handling, garbage collection.

Then, I reorganized the features of Perl into a class library, and implemented them. I posted Ruby 0.95 to the Japanese domestic newsgroups in Dec. 1995.

Since then, highly active mailing lists have been established and web pages formed.

Where is the Ruby Home Page?

The official Ruby Home Page is www.ruby-lang.org. Besides the English and Japanese versions, there exist translations into various other languages.