Ruby MRI

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Ruby
Ruby-logo-notext.png
Developer(s) Yukihiro Matsumoto (among others)
Stable release 1.9.3 / October 31, 2011; 2 months ago (2011-10-31)
Written in C
Operating system Cross-platform
Type Ruby programming language interpreter
License Ruby License
GNU General Public License
Website www.ruby-lang.org
Yukihiro Matsumoto, the creator of Ruby.

Matz's Ruby Interpreter or Ruby MRI (also called CRuby) is the reference implementation of the Ruby programming language. As there is currently no specification of the Ruby language, the MRI implementation is considered the de facto reference. The RubySpec project has 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 currently passes over 99% of RubySpec.[1]

The latest stable version is Ruby 1.9.3[2]. The developers included the virtual machine provided by the YARV project, which was merged into the Ruby source tree on December 31, 2006, and released as part of Ruby 1.9.

Contents

[edit] 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.[3]

The 1.8 branch is still maintained, and 1.8.7 releases have been released since April 2008[4][5]. This version provides bug fixes, but also many Ruby feature enhancements.

The current stable version of the interpreter 1.9.3 was released[2] on October 31, 2011. The 1.9 series added initial Unicode support, YARV with kernel threads (also known as native threads) [6] and significantly improved performance[7] over 1.8.

[edit] Licensing terms

Till release 1.9.3 the Ruby interpreter and libraries have been distributed disjointedly (dual licensed) under the free and open source licenses GPL and Ruby License.[8] dual licensed. In release 1.9.3 Ruby's License has been changed from a dual license with GPLv2 to a dual license with 2-clause BSDL[9].

[edit] Operating systems

Ruby MRI is available for the following operating systems:

This list may not be exhaustive.

[edit] Criticism

Commonly noted limitations include:

  • Performance -- the Ruby interpreter's performance trails that of comparable languages such as Perl, and Python[10][11], mainly due to the design of the interpreter: To execute Ruby code, the interpreter builds a syntax tree from the source code and then evaluates the syntax tree directly, instead of first compiling it into more efficiently executable form.
  • Backward compatibility -- version 1.9 and 1.8 have slight semantic differences.[12]

[edit] References

  1. ^ Ruby 1.9.2 is released
  2. ^ a b Ruby 1.9.3 p0 is released
  3. ^ An Interview with the Creator of Ruby
  4. ^ Musha, Akinori (2008-05-26). "Ruby Core: Ruby 1.8.7-preview4 has been released". http://www.ruby-forum.com/topic/154217#new. 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." 
  5. ^ "1.8.7 NEWS". http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7_preview4/NEWS. Retrieved 2008-05-30. 
  6. ^ The Ruby VM (Interview with Ruby VM creators)
  7. ^ Ruby 1.9 - Computer Language Benchmarks Game comparison
  8. ^ Ruby License (ruby-lang.org)
  9. ^ Ruby 1.9.3 Release News
  10. ^ Boxplot Summary | Ubuntu : Intel Q6600 Computer Language Benchmarks Game
  11. ^ Ruby Performance Revisited - Joel on Software
  12. ^ InfoQ: Ruby 1.9 released

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages