Ein weiterer Ruby-Interpreter behauptet stabil zu sein. Nachdem Evan Phoenix Rubinius vor 3 Jahren auf der RailsConf Berlin als "kurz vor der ersten Beta" bezeichnet hat, wissen wir jetzt, was "kurz" ist. Zwischendurch wurde die alte, Smalltalk nicht unähnliche VM "shotgun" komplett weggeschmissen (gut, verhindert Namenskollisionen mit dem Gem) und durch eine neue ersetzt. Rubinius setzt dabei auf die LLVM-Compilerinfrastruktur auf und bietet dabei vor allen Just in Time-Kompilierung und Ahead of Time-Kompilierung. Im Gegensatz zu JRuby unterstützt Rubinius aber auch ein relativ großes Subset der C-API des MRI. Eine volle Unterstützung gibt es bewusst nicht, da einzelne Teile der API den Entwicklern das Leben schwer machen. Rubinius implementiert Ruby 1.8.7.
In meinem ersten Test lief Sequel mit sqlite3-ruby anständig und einige Tests in Riot/RR für einen Parser in Citrus hatten auch keine Probleme. Nokogiri installiert auch ohne maulen. Stacktraces sehen in Rubinius schöner aus, sind informativer und besser lesbar. Alles in allem macht der 1.0er-Release eine überraschend bessere Figur als die Release Candidates.
Hier noch ein paar kleine Tipps für Ungeduldige, die gleich starten möchten. Rubinus installiert nur eine Executable:
rbx |
ohne Argumente startet rbx den irb.
rbx gem |
startet das mitgelieferte Rubygems. Gem binaries werden wie bei JRuby mit -S ausgeführt:
rbx -S rake |
Ich wünsche viel Spass beim Hacken!
Kommentar schreiben
Kommentare
Tatsächlich scheint Rubinius inzwischen einfach zu funktionieren! Es ist allerdings in meinen Tests noch deutlich langsamer als MRI (1.8).
Bin mal gespannt auf den nächsten Release.