Rubinius

from Wikipedia, the free encyclopedia
Rubinius
Publishing year: 2006
Developer: Evan Phoenix, Brian Ford and others
Current  version : 3,107   (July 15, 2018)
Influenced by: Small talk , Erlang , Haskell
Operating system : macOS , Linux , FreeBSD
License : BSD license
rubinius.com

Rubinius is a compiler for the Ruby programming language . The aim of the implementation is to write as much as possible in Ruby itself and to be more memory efficient than the official Ruby implementation. Rubinius is strongly oriented towards the reference implementation of the programming language Smalltalk-80 .

Except for the virtual machine , Rubinius is written entirely in Ruby. This also includes, for example, the parser , the compiler or inheritance . To do this, you rely on bootstrapping : you have to run the compiler so that it can convert itself into bytecode . This is done either from an already compiled Rubinius version or from another Ruby implementation.

From version 0.9 Rubinius is able to run Ruby On Rails . The current version is considered to be compatible with Ruby 2.1.0, which was previously supposed to be ensured by the RubySpec project, but this was discontinued on December 31, 2014. Experimental support for 1.9 is available. Version 1.x, which is currently in development, currently has several experimental virtual machines, e.g. for the integration of the low level virtual machine , with the aim of improving performance .

Several developers, including Sasada Koichi, the developer of YARV (the VM of Ruby 1.9), believe that Rubinius has the greatest potential for optimization in the long term. Rubinius already executes pure Ruby code faster than other implementations. It should be noted here, however, that other implementations compensate for this by implementing the core of the language not in Ruby, but in another language, for example C or Java , and thus achieve better results at the moment.

The development of Rubinius is largely driven by the company Engine Yard , which currently has two developers working full-time on it.

See also

  • PyPy , a similar project for Python
  • JRuby , a Ruby implementation in Java

Web links

Individual evidence

  1. ^ Adele Goldberg: Smalltalk-80: The Language and its Implementation . Addison-Wesley, ISBN 978-0-201-11371-6 ( Online (PDF)).
  2. Evan Phoenix: Rails on Rubinius. May 17, 2008, archived from the original on March 5, 20160 ; accessed on February 26, 2017 (English).
  3. ^ RubySpec Has Been Closed. Archived from the original on January 1, 2015 ; accessed on February 26, 2017 (English).
  4. Evan Phoenix: Rubinius Status. September 5, 2008, archived from the original on August 19, 2016 ; accessed on February 26, 2017 (English).
  5. ^ Koichi Sasada: Future of RubyVM. 2008, accessed February 26, 2017 .
  6. Evan Phoenix: Rubinius. 2008, accessed February 26, 2017 .
  7. ^ Charles Nutter: Using Rubinius's Kernel in JRuby. October 29, 2008, accessed February 26, 2017 .
  8. ^ Antonio Cangiano: The Great Ruby Shootout (December 2008). December 9, 2008, accessed February 26, 2017 .