Ruby MRI

From Seo Wiki - Search Engine Optimization and Programming Languages
Jump to navigationJump to search
Ruby
File:Ruby-logo-notext.png
Developer(s) Yukihiro Matsumoto (among others)
Stable release 1.9.1 / January 30, 2009; 477546486 ago
Preview release 1.9.2 preview 2 / 2009-09-8; 458452086 ago
Written in C
Operating system Cross-platform
Type Ruby programming language interpreter
License Ruby License
GNU General Public License
Website www.ruby-lang.org
File:Yukihiro Matsumoto.JPG
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 is planned to pass RubySpec.[1]

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.[2]

As of January 2009, the latest stable version is Ruby 1.9.1. 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.

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

Licensing terms

The Ruby interpreter and libraries are distributed disjointedly (dual licensed) under the free and open source licenses GPL and Ruby License [5].

Operating systems

Ruby MRI is available for the following operating systems:

This list may not be exhaustive.

Criticism

The current stable version of the interpreter 1.9.1 (the codebase which is the development version of 2.0) was released[6] on January 30, 2009. It added Unicode support, YARV with kernel threads (also known as native threads) [7] and significantly improved performance[8] over 1.8.

Commonly noted limitations include:

  • Performance -- the Ruby interpreter's performance trails that of comparable languages such as Perl, and Python[9][10], 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.[11]

References

  1. Announcement on ruby-core mailing list
  2. An Interview with the Creator of Ruby
  3. 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." 
  4. "1.8.7 NEWS". http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7_preview4/NEWS. Retrieved 2008-05-30. 
  5. Ruby License (ruby-lang.org)
  6. [ANN] Ruby 1.9.1 is released
  7. The Ruby VM (Interview with Ruby VM creators)
  8. Ruby 1.9 - Computer Language Benchmarks Game comparison
  9. Boxplot Summary | Ubuntu : Intel Q6600 Computer Language Benchmarks Game
  10. Ruby Performance Revisited - Joel on Software
  11. InfoQ: Ruby 1.9 released

External links