Ruby MRI: Difference between revisions
Ruby 2.5 released Christmas Day |
ShalokShalom (talk | contribs) No edit summary |
||
Line 5: | Line 5: | ||
| caption = |
| caption = |
||
| developer = Yukihiro Matsumoto (among others) |
| developer = Yukihiro Matsumoto (among others) |
||
| latest release version = |
| latest release version = 1.8.7 |
||
| latest release date = |
| latest release date = 27.6.2013<ref name="Github Releases">{{Cite web |
||
|url=https:// |
|url=https://github.com/ruby/ruby/releases/tag/v1_8_7_374 |
||
| |
|accessdate=12 Jänner 2018}}</ref> |
||
| released = 04.08.2003<ref name="Ruby 1.8.0 is released">{{Cite web |
|||
| |
|url=https://www.ruby-lang.org/en/news/2003/08/04/ruby-180-released/ |
||
| |
|accessdate=12 Jänner 2018}}</ref> |
||
|publisher= |
|||
|accessdate=25 December 2017}}</ref> |
|||
| released = {{Start date and age|1995}} |
|||
| operating system = [[Cross-platform]] |
| operating system = [[Cross-platform]] |
||
| programming language = [[C (programming language)|C]] |
| programming language = [[C (programming language)|C]] |
||
Line 23: | Line 20: | ||
[[File:Yukihiro Matsumoto.JPG|thumb|right|100px|Yukihiro Matsumoto, the creator of Ruby.]] |
[[File:Yukihiro Matsumoto.JPG|thumb|right|100px|Yukihiro Matsumoto, the creator of Ruby.]] |
||
'''Matz's Ruby Interpreter''' or '''Ruby MRI''' (also called '''CRuby''') |
'''Matz's Ruby Interpreter''' or '''Ruby MRI''' (also called '''CRuby''') [[Ruby (programming language)#Matz's Ruby interpreter|was]] the [[reference implementation]] of the [[Ruby (programming language)|Ruby programming language]] named after Ruby creator [[Yukihiro Matsumoto]] ("Matz"). Until the specification of the Ruby language in 2011,{{citation needed|reason=needed pointer to the spec, draft spec is gone|date=November 2015}} the MRI implementation was considered the [[De facto standard|''de facto'' reference]], especially since an independent attempt to create the specification ([[RubySpec]]) had failed.<ref name="rubyspecfail" /> Starting with Ruby 1.9, and continuing with Ruby 2.x and above, the official Ruby interpreter has been [[YARV]] ("Yet Another Ruby VM"). |
||
The latest stable version is Ruby |
The latest stable version is Ruby 1.8.7<ref name="ruby-announce" /> |
||
==History== |
==History== |
Revision as of 09:00, 16 January 2018
Developer(s) | Yukihiro Matsumoto (among others) |
---|---|
Initial release | 04.08.2003[1] |
Stable release | 1.8.7
/ 27.6.2013[2] |
Repository | |
Written in | C |
Operating system | Cross-platform |
Type | Ruby programming language interpreter |
License | Ruby License Simplified BSD License GNU General Public License (prior to 1.9.3) |
Website | www |
Matz's Ruby Interpreter or Ruby MRI (also called CRuby) was the reference implementation of the Ruby programming language named after Ruby creator Yukihiro Matsumoto ("Matz"). Until the specification of the Ruby language in 2011,[citation needed] the MRI implementation was considered the de facto reference, especially since an independent attempt to create the specification (RubySpec) had failed.[3] Starting with Ruby 1.9, and continuing with Ruby 2.x and above, the official Ruby interpreter has been YARV ("Yet Another Ruby VM").
The latest stable version is Ruby 1.8.7[4]
History
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.[5]
The 1.8 branch has been maintained until June 2013,[6] and 1.8.7 releases have been released since April 2008.[7][8] This version provides bug fixes, but also many Ruby feature enhancements.
The RubySpec project has independently created a large test suite that captures 1.8.6/1.8.7/1.9 behavior as a reference conformance tool. Ruby MRI 1.9.2 passed over 99% of RubySpec.,[9] MRI Ruby 2.2 crashed on one of the tests. As a result of the limited uptake by the MRI developers, RubySpec project has been discontinued as of end of 2014.[3]
Licensing 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.[10] 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.[11]
Operating systems
Ruby MRI is available for the following operating systems (supported Ruby versions can be different):
- Acorn RISC OS
- Amiga
- BeOS / Haiku
- DOS (32-bit)
- IBM i
- Internet Tablet OS
- Linux
- Mac OS X
- Microsoft Windows 95/98/2000/2003/NT/XP/Vista/7/8/10
- Microsoft Windows CE
- MorphOS
- OS/2
- OpenVMS
- Syllable
- Symbian OS
- Blue Gene/L compute node kernel
- Most flavors of Unix
This list may not be exhaustive.
- PowerPC64 performance
- Since version 2.2.1,[12] Ruby MRI performance on PowerPC64 was improved.[13][14][15]
Criticism
Commonly noted limitations include:
- Backward compatibility
- Version 1.9 and 1.8 have slight semantic differences.[16] The release of Ruby 2.0 sought to avoid such a conflict between different versions.[17]
See also
References
- ^ https://www.ruby-lang.org/en/news/2003/08/04/ruby-180-released/. Retrieved 12 Jänner 2018.
{{cite web}}
: Check date values in:|accessdate=
(help); Missing or empty|title=
(help) - ^ https://github.com/ruby/ruby/releases/tag/v1_8_7_374. Retrieved 12 Jänner 2018.
{{cite web}}
: Check date values in:|accessdate=
(help); Missing or empty|title=
(help) - ^ a b Brian Shirai (31 Dec 2014). "Matz's Ruby Developers Don't Use RubySpec and It's Hurting Ruby". Rubinius blog. Retrieved 16 November 2015.
- ^ Cite error: The named reference
ruby-announce
was invoked but never defined (see the help page). - ^ Bruce Stewart (2001-11-29). "An Interview with the Creator of Ruby". linuxdevcenter.com. O'Reilly. Retrieved 22 February 2014.
- ^ shyouhei (30 Jun 2013). "We retire Ruby 1.8.7". ruby-lang.org. Retrieved 22 February 2014.
- ^ Musha, Akinori (2008-05-26). "Ruby Core: Ruby 1.8.7-preview4 has been released". Retrieved 2008-05-30.
The new version of Ruby includes many bug fixes, lots of feature enhancements and some performance improvements since 1.8.6 while maintaining stability and backward compatibility with the previous release to a high degree, although there are ongoing efforts that need to be done toward adopting RubySpec.
- ^ "1.8.7 NEWS". Retrieved 2008-05-30.
- ^ Yugui (18 Aug 2010). "Ruby 1.9.2 is released". ruby-lang.org. Retrieved 22 February 2014.
- ^ "Ruby License". ruby-lang.org. Retrieved 22 February 2014.
- ^ "Ruby 1.9.3 Release News". ruby-lang.org. Retrieved 22 February 2014.
- ^ Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2015). "Ruby 2.2.1 Released". Retrieved 12 July 2016.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2015). "v2.2.1 ChangeLog". Retrieved 12 July 2016.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2014). "Specifying non volatile registers for increase performance in ppc64". Retrieved 12 July 2016.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2014). "Specifying MACRO for increase performance in ppc64". Retrieved 12 July 2016.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Rick DeNatale (Dec 26, 2007). "Ruby 1.9 released". Infoq.com. Retrieved 22 February 2014.
- ^ Yusuke Endoh (24 Feb 2013). "Ruby 2.0.0-p0 is released". ruby-lang.org. Retrieved 22 February 2014.