Rubinius
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden. | |
|---|---|
| [[Datei:Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.|150px]] | |
| Basisdaten | |
| Erscheinungsjahr: | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Designer: | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Entwickler: | Evan Phoenix, Brian Ford und andere |
| Aktuelle Version | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Beeinflusst von: | Smalltalk, Erlang, Haskell |
| Betriebssystem: | macOS, Linux, FreeBSD |
| Lizenz: | BSD-Lizenz |
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden. | |
Rubinius ist ein Compiler für die 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.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>
Abgesehen von der Virtuellen Maschine ist Rubinius gänzlich in Ruby geschrieben. Dies umfasst auch etwa den Parser, den Compiler oder die 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.
Ab Version 0.9 ist Rubinius in der Lage Ruby On Rails auszuführen.<ref>Evan Phoenix: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden., archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 20160-3-05 (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Die aktuelle Version wird als kompatibel zu Ruby 2.1.0 angesehen, was bisher durch das RubySpec Projekt sichergestellt werden sollte, dieses wurde mit 31. Dezember 2014 jedoch eingestellt.<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2015-01-01 (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> 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 der Low Level Virtual Machine, mit dem Ziel die Performance zu verbessern.<ref>Evan Phoenix: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden., archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2016-08-19 (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
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.<ref>Koichi Sasada: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Bereits jetzt führt Rubinius reinen Rubycode schneller aus als andere Implementierungen.<ref>Evan Phoenix: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref><ref>Charles Nutter: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> 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.<ref>Antonio Cangiano: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Die Entwicklung an Rubinius wird maßgeblich von dem Unternehmen Engine Yard vorangetrieben, welches zurzeit zwei Entwickler vollzeit daran arbeiten lässt.
Siehe auch[Bearbeiten]
Weblinks[Bearbeiten]
- Die offizielle Website
- Ein Vortrag über Rubinius auf der RubyConf 2007
- Rubinius auf GitHub
Einzelnachweise[Bearbeiten]
<references />