De Wikipedia, la enciclopedia libre
  (Redirigido desde el intérprete Ruby de Matz )
Saltar a navegación Saltar a búsqueda
Yukihiro Matsumoto, el creador de Ruby.

Ruby Interpreter de Matz o Ruby MRI (también llamado CRuby ) fue la implementación de referencia del lenguaje de programación Ruby que lleva el nombre del creador de Ruby Yukihiro Matsumoto ("Matz"). Hasta la especificación del lenguaje Ruby en 2011, [ cita requerida ] la implementación de MRI se consideraba la referencia de facto , especialmente porque un intento independiente de crear la especificación ( RubySpec ) había fallado. [3] Comenzando con Ruby 1.9 y continuando con Ruby 2.xy superior, el intérprete oficial de Ruby ha sido YARV ("Otro Ruby VM más").

La última versión estable es Ruby 3.0.0 [4]

Historia [ editar ]

Yukihiro Matsumoto ("Matz") comenzó a trabajar en Ruby el 24 de febrero de 1993 y lo lanzó al público en 1995. "Ruby" fue nombrado como una piedra preciosa debido a una broma dentro del círculo de amigos de Matsumoto aludiendo al nombre de Perl. lenguaje de programación. [5]

La rama 1.8 se ha mantenido hasta junio de 2013, [6] y las versiones 1.8.7 se han lanzado desde abril de 2008. [7] [8] Esta versión proporciona correcciones de errores, pero también muchas mejoras de funciones de Ruby.

El proyecto RubySpec ha creado de forma independiente un gran conjunto de pruebas que captura el comportamiento 1.8.6 / 1.8.7 / 1.9 como una herramienta de conformidad de referencia. Ruby MRI 1.9.2 superó el 99% de RubySpec., [9] MRI Ruby 2.2 falló en una de las pruebas. Como resultado de la aceptación limitada por parte de los desarrolladores de MRI, el proyecto RubySpec se suspendió a fines de 2014. [3]

Términos de licencia [ editar ]

Antes del lanzamiento 1.9.3, el intérprete y las bibliotecas de Ruby se distribuían como software libre y de código abierto con doble licencia , bajo la Licencia Pública General GNU o la Licencia Ruby. [10] En la versión 1.9.3, la Licencia de Ruby se ha cambiado de una licencia dual con GPLv2 a una licencia dual con la licencia BSD de 2 cláusulas . [11]

Sistemas operativos [ editar ]

Ruby MRI está disponible para los siguientes sistemas operativos (las versiones compatibles de Ruby pueden ser diferentes):

  • Acorn RISC OS
  • Amiga
  • BeOS / Haiku
  • DOS (32 bits)
  • IBM i
  • Sistema operativo de tableta de Internet
  • Linux
  • Mac OS X
  • Microsoft Windows 95/98/2000/2003 / NT / XP / Vista / 7/8/10
  • Microsoft Windows CE
  • MorphOS
  • OS / 2
  • OpenVMS
  • Sílaba
  • Sistema operativo Symbian
  • Kernel de nodo de cómputo Blue Gene / L
  • La mayoría de los sabores de Unix

Es posible que esta lista no sea exhaustiva.

Rendimiento de PowerPC64
Desde la versión 2.2.1, [12] se mejoró el rendimiento de Ruby MRI en PowerPC64 . [13] [14] [15]

Crítica [ editar ]

Las limitaciones comúnmente observadas incluyen:

Compatibilidad con versiones anteriores
Las versiones 1.9 y 1.8 tienen ligeras diferencias semánticas. [16] El lanzamiento de Ruby 2.0 buscó evitar tal conflicto entre diferentes versiones. [17]

Los programas con subprocesos no pueden utilizar más de un núcleo de CPU debido al bloqueo de intérprete global .

Ver también [ editar ]

  • YARV

Referencias [ editar ]

  1. ^ "¡Ruby-1.8.0 lanzado!" . Consultado el 12 de enero de 2018 .
  2. ^ "Ruby 2.7.0 lanzado" . Consultado el 7 de enero de 2020 .
  3. ↑ a b Brian Shirai (31 de diciembre de 2014). "Los desarrolladores de Ruby de Matz no usan RubySpec y está dañando a Ruby" . Blog de Rubinius . Consultado el 16 de noviembre de 2015 .
  4. ^ "Ruby 3.0.0 lanzado" . ruby-lang.org . 2021-01-03 . Consultado el 3 de enero de 2021 .
  5. Bruce Stewart (29 de noviembre de 2001). "Una entrevista con el creador de Ruby" . linuxdevcenter.com . O'Reilly . Consultado el 22 de febrero de 2014 .
  6. ^ shyouhei (30 de junio de 2013). "Retiramos Ruby 1.8.7" . ruby-lang.org . Consultado el 22 de febrero de 2014 .
  7. Musha, Akinori (26 de mayo de 2008). "Ruby Core: Ruby 1.8.7-preview4 ha sido lanzado" . Consultado el 30 de mayo de 2008 . La nueva versión de Ruby incluye muchas correcciones de errores, muchas mejoras de funciones y algunas mejoras de rendimiento desde 1.8.6 mientras se mantiene la estabilidad y la compatibilidad con la versión anterior en un alto grado, aunque hay esfuerzos continuos que deben realizarse para adoptar RubySpec .
  8. ^ "1.8.7 NOTICIAS" . Consultado el 30 de mayo de 2008 .
  9. ^ Yugui (18 de agosto de 2010). "Lanzamiento de Ruby 1.9.2" . ruby-lang.org . Consultado el 22 de febrero de 2014 .
  10. ^ "Licencia Ruby" . ruby-lang.org . Consultado el 22 de febrero de 2014 .
  11. ^ "Ruby 1.9.3 Release News" . ruby-lang.org . Consultado el 22 de febrero de 2014 .
  12. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2015). "Ruby 2.2.1 lanzado" . Consultado el 12 de julio de 2016 .CS1 maint: varios nombres: lista de autores ( enlace )
  13. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2015). "v2.2.1 ChangeLog" . Consultado el 12 de julio de 2016 .CS1 maint: varios nombres: lista de autores ( enlace )
  14. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2014). "Especificación de registros no volátiles para aumentar el rendimiento en ppc64" . Consultado el 12 de julio de 2016 .CS1 maint: varios nombres: lista de autores ( enlace )
  15. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2014). "Especificación de MACRO para aumentar el rendimiento en ppc64" . Consultado el 12 de julio de 2016 .CS1 maint: varios nombres: lista de autores ( enlace )
  16. ^ Rick DeNatale (26 de diciembre de 2007). "Ruby 1.9 lanzado" . Infoq.com . Consultado el 22 de febrero de 2014 .
  17. ^ Yusuke Endoh (24 de febrero de 2013). "Lanzamiento de Ruby 2.0.0-p0" . ruby-lang.org . Consultado el 22 de febrero de 2014 .

Enlaces externos [ editar ]

  • Página web oficial