Ruby é uma
linguagem de programação interpretada multiparadigma, de
tipagem dinâmica e forte, com
gerenciamento de memória automático, originalmente planejada e desenvolvida no
Japão em
1995, por
Yukihiro "Matz" Matsumoto, para ser usada como
linguagem de script. Matz queria uma linguagem de script que fosse mais poderosa do que
Perl, e mais
orientada a objetos do que
Python. Ruby suporta
programação funcional, orientada a objetos,
imperativa e
reflexiva. Foi inspirada principalmente por Python, Perl,
Smalltalk,
Eiffel,
Ada e
Lisp, sendo muito similar em vários aspectos a Python. Atualmente, Ruby é a 10ª linguagem de programação mais popular do mundo, de acordo com o
Índice Tiobe.
A implementação 1.8.7 padrão é escrita em
C, como uma linguagem de programação de único passe. Não há qualquer especificação da linguagem, assim a implementação original é considerada de fato uma referência. Atualmente, há várias implementações alternativas da linguagem, incluindo
YARV,
JRuby,
Rubinius,
IronRuby,
MacRuby e
HotRuby, cada qual com uma abordagem diferente, com IronRuby, JRuby e MacRuby fornecendo compilação
Just-In-Time e,
JRuby e
MacRuby também fornecendo compilação
Ahead-Of-Time. A partir das séries 1.9 em diante Ruby passou a utilizar por padrão a YARV (Yet Another Ruby VirtualMachine) substituindo a Ruby MRI (Matz's Ruby Interpreter).