Ruby MRI
Interpreter for the Ruby programming language

Matz's Ruby Interpreter or Ruby MRI (also called CRuby) is an implementation of the Ruby programming language named after Ruby creator Yukihiro Matsumoto ("Matz"). Until the specification of the Ruby language in 2012, the MRI implementation was considered the de facto reference. Starting with Ruby 1.9, and continuing with Ruby 2.x and above, the official Ruby interpreter has been YARV ("Yet Another Ruby VM").
Ruby 1.8 is the last version that uses MRI.
01History
Yukihiro Matsumoto ("Matz") started working on Ruby on February 24, 1993, and released it to the public in 1995. "Ruby" was named as a gemstone because of a joke within Matsumoto's circle of friends alluding to the name of the Perl programming language.
The 1.8 branch has been maintained until June 2013, and 1.8.7 releases have been released since April 2008. This version provides bug fixes, but also many Ruby feature enhancements.
The RubySpec project (later renamed to "The Ruby Spec Suite") has independently created a large test suite that captures Ruby behavior as a reference conformance tool. Ruby MRI 1.9.2 passed over 99% of RubySpec., MRI Ruby 2.2 crashed on one of the tests.
02Licensing terms
Prior to release 1.9.3, the Ruby interpreter and libraries were distributed as dual-licensed free and open source software, under the GNU General Public License or the Ruby License. In release 1.9.3, Ruby's License has been changed from a dual license with GPLv2 to a dual license with the 2-clause BSD license.
03Operating systems
Ruby MRI is available for the following operating systems (supported Ruby versions can be different):
- Acorn RISC OS
- Amiga
- BeOS / Haiku
- MS-DOS
- IBM i
- Internet Tablet OS
- Linux
- OS X
- Windows
- Windows CE
- MorphOS
- OS/2
- OpenVMS
- Syllable
- Symbian OS
- Blue Gene/L compute node kernel
- Unix
This list may not be exhaustive.
- PowerPC64 performance
- Since version 2.2.1, Ruby MRI performance on PowerPC64 was improved.
04Limitations
Commonly noted limitations include:
- Backward compatibility
- Version 1.9 and 1.8 have slight semantic differences. The release of Ruby 2.0 sought to avoid such a conflict between different versions.
Threaded programs cannot use more than a single CPU core due to the Global interpreter lock.
Sources and credits
This article is adapted from the Wikipedia article “Ruby MRI”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Images, from Wikimedia Commons:
- Ruby-logo-notext.png by Tom Schaub, CC BY-SA 3.0
- Yukihiro Matsumoto.JPG by Cep21, Public domain
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.