Rubinius
Rubinius | |
---|---|
Basisdaten | |
Erscheinungsjahr: | 2006 |
Entwickler: | Evan Phoenix, Brian Ford und andere |
Aktuelle Version | 5.0[1] (16. Mai 2020) |
Beeinflusst von: | Smalltalk,Erlang,Haskell |
Betriebssystem: | macOS,Linux,FreeBSD |
Lizenz: | BSD-Lizenz |
rubinius.com |
Rubinius ist ein Compiler für dieProgrammierspracheRuby. 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 ProgrammierspracheSmalltalk-80.[2]
Abgesehen von derVirtuellen Maschine ist Rubinius gänzlich in Ruby geschrieben. Dies umfasst auch etwa denParser, denCompiler oder dieVererbung. Um dies zu realisieren, setzt man aufBootstrapping: Man muss den Compiler ausführen, damit sich dieser selbst inBytecode umwandeln kann. Dies geschieht entweder von einer bereits kompilierten Rubinius-Version, oder einer anderen Ruby-Implementierung aus.
Ab Version 0.9 ist Rubinius in der LageRuby On Rails auszuführen.[3] Die aktuelle Version wird alskompatibel zu Ruby 2.1.0 angesehen, was bisher durch dasRubySpec Projekt sichergestellt werden sollte, dieses wurde mit 31. Dezember 2014 jedoch eingestellt.[4] Experimenteller Support für 1.9 ist verfügbar. Die sich aktuell in Entwicklung befindende Version 1.x hat derzeit mehrere experimentelle Virtuelle Maschinen, etwa für die Integration derLow Level Virtual Machine, mit dem Ziel diePerformance zu verbessern.[5]
Mehrere Entwickler, darunter Sasada Koichi, der Entwickler vonYARV (die VM von Ruby 1.9), sind der Ansicht, dass Rubinius auf lange Sicht das größte Optimierungspotential bereithält.[6] Bereits jetzt führt Rubinius reinen Rubycode schneller aus als andere Implementierungen.[7][8] Hier sei aber anzumerken, dass andere Implementierungen dies kompensieren, indem sie den Kern der Sprache nicht in Ruby, sondern in einer anderen Sprache, zum BeispielC oderJava, implementieren und damit im Moment bessere Resultate erzielen.[9]
Die Entwicklung an Rubinius wird maßgeblich von dem UnternehmenEngine Yard vorangetrieben, welches zurzeit zwei Entwicklervollzeit daran arbeiten lässt.
Siehe auch
[Bearbeiten |Quelltext bearbeiten]Weblinks
[Bearbeiten |Quelltext bearbeiten]- Die offizielle Website
- Ein Vortrag über Rubinius auf der RubyConf 2007
- Rubinius aufGitHub
Einzelnachweise
[Bearbeiten |Quelltext bearbeiten]- ↑Release 5.0. 16. Mai 2020 (abgerufen am 17. Mai 2020).
- ↑Adele Goldberg:Smalltalk-80: The Language and its Implementation. Addison-Wesley,ISBN 978-0-201-11371-6 (Online [PDF;32,0 MB; abgerufen am 18. September 2021]).
- ↑Evan Phoenix: Rails on Rubinius. 17. Mai 2008, archiviert vom Original am 5. März 20160; abgerufen am 26. Februar 2017 (englisch).
- ↑RubySpec Has Been Closed. Archiviert vom Original am 1. Januar 2015; abgerufen am 26. Februar 2017 (englisch).
- ↑Evan Phoenix: Rubinius Status. 5. September 2008, archiviert vom Original am 19. August 2016; abgerufen am 26. Februar 2017 (englisch).
- ↑Koichi Sasada: Future of RubyVM. 2008, abgerufen am 26. Februar 2017 (englisch).
- ↑Evan Phoenix: Rubinius. 2008, abgerufen am 26. Februar 2017 (englisch).
- ↑Charles Nutter: Using Rubinius's Kernel in JRuby. 29. Oktober 2008, abgerufen am 26. Februar 2017 (englisch).
- ↑Antonio Cangiano: The Great Ruby Shootout (December 2008). 9. Dezember 2008, abgerufen am 26. Februar 2017 (englisch).