Ela foi criada por Yukihiro Matsumoto (Matz), em 1994, inspirada nas linguagens Python e Perl, com o objetivo de criar um linguagem poderosa, orientada a objetos, que fosse de fácil compreensão e fosse fácil de programar.
O Ruby é independente de plataforma, tendo diversas implementações, como por exemplo em Java (JRuby) e .NET (IronRuby e Ruby.NET), além das implementações para os sistemas operacionais mais utilizados (Windows, Linux e Mac).
As principais características das linguagem são:
- A sintaxe é enxuta, quase não havendo necessidade de colchetes e outros caracteres.
- Todas as variáveis são objetos, onde até os "tipos primitivos" (tais como inteiro, real, entre outros) são classes.
- Estão disponíveis diversos métodos de geração de código em tempo real, como os "attribute accessors".
- Através do Ruby Gems, é possível instalar e atualizar bibliotecas com uma linha de comando, de maneira similar ao APT do Debian Linux.
- Code blocks (blocos de código), ajudam o programador a passar um trecho de instruções para um método.
- Mixins, uma forma de emular a herança múltipla, sem cair nos seus problemas.
- Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente.