Rubinius est une implémentation du langage de programmation
Ruby, dont le code est placé sous
licence BSD. Rubinius permet d'exécuter du code Ruby, mais vise également les objectifs suivants :
- Rubinius est Threadsafe ;
- Son code est propre, lisible, facile à comprendre et à étendre ;
- Il est fiable et solide (avec l'aide de Valgrind) ;
- Et surtout, il apporte les dernières avancées de la recherche sur les machines virtuelles, les ramasses-miettes et les compilateurs à Ruby.
Le développement de Rubinius a commencé en novembre 2006 et, aujourd'hui, une étape importante a été franchie : la sortie de la version 1.0. Celle-ci marque la compatibilité avec Ruby 1.8.7, y compris
Ruby on Rails (aussi bien la version 2.3 et que la version 3),
Rspec,
Rubygems, les bibliothèques Ruby et même une grande partie des extensions codées en
C.
D'un point de vue plus technique, Rubinius est écrit majoritairement en Ruby, et pour les parties où ce n'est pas (encore) possible en
C++. Il fonctionne avec une machine virtuelle dont le bytecode est transformé en code machine à l'exécution grâce à
LLVM et utilise un
garbage collector générationnel, précis et compactant. Et pour ceux qui seraient d'humeur taquine, je ne résiste pas à l'envie de mettre un petit lien vers un
benchmark. Vous pouvez voir que Rubinius est l'implémentation Ruby la plus rapide, ou du moins, l'était en janvier quand le benchmark a été fait.
Si vous êtes convaincus, vous pouvez installer Rubinius soit en suivant
les instructions officielles, soit en utilisant
Ruby Version Manager. Je recommande d'utiliser la seconde solution, car RVM vous permet d'installer plusieurs implémentations de Ruby sur la même machine, d'installer des gems pour chacun d'eux et de passer d'une implémentation à l'autre sans problème.