# JRuby

JRuby es una implementación 100% Java del lenguaje de programación Ruby, desarrollado por el equipo de JRuby. También funciona como lenguaje incorporado dentro de la máquina virtual de Java. Es una de las tantas implementaciones, de las más completas.

## Características

Es software libre liberado bajo CPL/GPL/LGPL. JRuby está estrechamente integrado con Java para permitir la incorporación del intérprete en cualquier aplicación de Java con acceso completo bidireccional entre Java y el código Ruby (similar a Jython para el lenguaje Python).
Actualmente JRuby se encuentra en su versión 9.2.0.0 y la implementación oficial (la más usada - Matz's Ruby Interpreter o MRI) se toma como referencia para la especificación del lenguaje. Esta versión de Ruby corre sobre una máquina virtual específica de Ruby, y está escrita en C. JRuby soporta 2.5.x Además de estas dos implementaciones existen también MacRuby (Ruby en Mac OS X), Rubinius, y otras.
comportamiento de los threads, la implementación de los tiempos de benchmark y algunas operaciones de archivos utilizadas por Ruby que no están disponibles en la máquina virtual de Java.

## Historia

JRuby fue creado originalmente por Jan Arne Petersen, en 2001. En ese momento y durante los años siguientes, el código fue un porte directo del código 1.6 C de Ruby. Con el lanzamiento de Ruby 1.8.6, comenzó un esfuerzo para actualizar las características y semántica de JRuby. Desde 2001, varios contribuyentes han asistido el proyecto, si bien el equipo actual consta de cuatro miembros principales.
Los desarrolladores principales de JRuby son Charles Nutter, Thomas Enebo, Ola Bini y Nick Sieger. En septiembre de 2006, Sun Microsystems contrató a Enebo y Nutter para trabajar a tiempo completo en JRuby. en junio de 2007, ThoughtWorks contrató a Ola Bini para trabajar en Ruby y JRuby. En julio de 2009, los desarrolladores de JRuby dejaron Sun para continuar el desarrollo de JRuby en Engine Yard.

### Historial de lanzamientos

Esta tabla presenta sólo versiones presentan medidas importantes en la historia de JRuby, aparte de las versiones que principalmente corregido errores y mejorar el rendimiento. Mejoras de rendimiento son también no se muestra en la tabla siguiente, como cada versión se suele traer esas mejoras.
El proyecto se coordina aquí en codehaus.org, pudiéndose encontrar también el plan de lanzamiento oficial respectivo aquí.
| Versión | Fecha de lanzamiento | Hechos destacados |
| 0.9 | 2006-08-01 | Soporta Rails |
| 1.1 | 2008-03-28 | Funciona mejor que Ruby MRI 1.8.7 modo AOT y modo JIT |
| 1.1.4 | 2008-08-28 | Rehecha capa de integración Java Comienzo de soporte para Ruby 1.9 Subsistema FFI para llamar a bibliotecas C |
| 1.2.0 | 2009-03-16 | Compilador JIT para Ruby 1.9 Soporte preliminar para Android |
| 1.3.0 | 2009-06-03 | JRuby se ejecuta en entornos restringidos mejor, como GAE/J |
| 9.1.7.0 | 2009-11-02 | Lanzador de Windows e instalador, añadidos Soporte para Ruby 2x |
| 1.5.0 | 2010-05-12 | Lanzador nativo para plataformas basadas en UNIX Soporte para Ant e integración con Rake-Ant Actualizaciones de la biblioteca estándar, RubyGems, y RSpec |
| 1.6.0 | 2011-03-15 | Compatibilidad con lenguaje y API de Ruby 1.9.2 Perfilador incorporado Soporte experimental para extensiones basadas en la API C de Ruby |
| 9.2.0.0 | 2018-05-24 | Compatibilidad con lenguaje y API de Ruby 2.5.x |