Rubinius

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Rubinius
Erscheinungsjahr: 2006
Entwickler: Evan Phoenix, Brian Ford und andere
Aktuelle Version: 2.2.6  (10. März 2014)
Beeinflusst von: Smalltalk, Erlang, Haskell
Betriebssystem: Plattformunabhängig
Lizenz: BSD-Lizenz
rubini.us

Rubinius ist eine alternative Implementierung der Programmiersprache Ruby. Ziel der Implementierung ist es so viel wie möglich in Ruby selbst zu schreiben und dabei speichereffizienter als die offizielle Ruby-Implementierung zu sein. Rubinius orientiert sich stark an der Referenzimplementierung der Programmiersprache Smalltalk-80.[1]

Abgesehen von der Virtuellen Maschine ist Rubinius gänzlich in Ruby geschrieben. Dies umfasst auch etwa den Parser, den Compiler oder Vererbung. Um dies zu realisieren, setzt man auf Bootstrapping: Man muss den Compiler ausführen, damit sich dieser selbst in Bytecode umwandeln kann. Dies geschieht entweder von einer bereits kompilierten Rubinius-Version, oder einer anderen Ruby-Implementierung aus.

Seit Version 0.9 ist Rubinius in der Lage Ruby On Rails auszuführen.[2] Die aktuelle Version wird als kompatibel zu Ruby 1.8.7 angesehen, was durch das RubySpec Projekt sichergestellt werden soll.[3] Experimenteller Support für 1.9 ist verfügbar. Die sich aktuell in Entwicklung befindende Version 1.0 hat derzeit mehrere experimentelle Virtuelle Maschinen, etwa für die Integration der Low Level Virtual Machine, mit dem Ziel die Performance zu verbessern.[4]

Mehrere Entwickler, darunter Sasada Koichi, der Entwickler von YARV (die VM von Ruby 1.9), sind der Ansicht, dass Rubinius auf lange Sicht das größte Optimierungspotential bereithält.[5] Bereits jetzt führt Rubinius reinen Rubycode schneller aus als andere Implementierungen.[6][7] Hier sei aber anzumerken, dass andere Implementierungen dies kompensieren, indem sie den Kern der Sprache nicht in Ruby, sondern in einer anderen Sprache, zum Beispiel C oder Java, implementieren und damit im Moment bessere Resultate erzielen.[8]

Die Entwicklung an Rubinius wird maßgeblich von Engine Yard vorangetrieben, die zurzeit zwei Entwickler vollzeit daran arbeiten lassen.

Siehe auch[Bearbeiten]

  • PyPy, ein ähnliches Projekt für Python
  • JRuby, eine Ruby-Implementierung in Java

Quellen[Bearbeiten]

  1. Adele Goldberg: Smalltalk-80: The Language and its Implementation. Addison-Wesley, ISBN 978-0-201-11371-6. http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf
  2. http://blog.fallingsnow.net/2008/05/17/rails-on-rubinius/
  3. http://rubyspec.org/
  4. http://blog.fallingsnow.net/2008/09/05/rubinius-status/
  5. http://rubyconf2008.confreaks.com/future-of-rubyvm.html
  6. http://rubyconf2008.confreaks.com/rubinius.html
  7. http://blog.headius.com/2008/10/using-rubiniuss-kernel-in-jruby.html
  8. http://antoniocangiano.com/2008/12/09/the-great-ruby-shootout-december-2008/

Weblinks[Bearbeiten]