Ruby est un langage de programmation libre, interprété orienté objet et multi-paradigme, avec un sytnaxe inspiré par Pel avec des fonctionnalités comme Smalltalk. Il est un peu similaire à d’autres programmes tels que Eiffel et Lisp. Il a été conçu et développé au milieu des années 1990 au Japon, par Yukihiro “Matz ” Matsumoto .
Ruby dispose d’un système de type dynamique, et d’une gestion automatique de la mémoire. Les spécifications de ce langage ont été conçues par Open Standards Promotion Center of the Information- Technology Promotion Agency. Il a été accepté comme une norme industrielle japonaise en 2011, puis en tant que norme internationale (ISO/IEX 30170) en 2012.
Les implémentations alternatives de Ruby sont: YARV, JRuby, Runinius, IronRuby, MacRuby, RubyMotion, mruby, HotRuby, Topaz, et Opal. Chacune de ces versions contient une approche différente, et comprend des caractéristiques légèrement différentes.