Disponible Ruby 2.6 con compilador JIT en fase experimental
Parece que Papá Noel se acordó ayer de los programadores, ya que ayer fue anunciado Ruby 2.6.0, la última versión de la implementación oficial de uno de los lenguajes de programación más populares del mundo, a pesar de posiblemente no tener tanto protagonismo en los medios como Java y JavaScript (los dos últimos no tienen relación a pesar del parecido del nombre).
Lo primero que han destacado los encargados de Ruby de la versión 2.6 es el soporte experimental para el compilador Just-In-Time (JIT), el cual tendría que ayudar a mejorar el rendimiento (hasta 1,7 veces más rápido que Ruby 2.5) de los programas realizados con este lenguaje. Básicamente, se encarga de “escribir el código C en el disco y engendra un compilador de C para generar el código nativo”. Para habilitarlo solo hay que especificar “–jit” (sin las comillas) en la línea de comandos o en la variable de entorno “$RUBYOPT. “El compilador JIT está soportado cuando Ruby es compilado con GCC, Clang o Microsoft VC++.”
La otra característica en fase experimental destacada ha sido “RubyVM::AbstractSyntaxTree”. “Este módulo tiene un método ‘parse’, el cual analiza la cadena dada como código Ruby y devuelve los nodos AST (Abstract Syntax Tree/Árbol de Sintaxis Abstracta) del código”. También se ha introducido la clase “RubyVM::AbstractSyntaxTree::Node” para tener la ubicación de la fuente y los nodos hijos desde los objetos de “Node”. Al ser una característica experimental, lo recomendable es no usarla en producción, al igual que el compilador JIT.
Otros cambios y características introducidos son la utilización de “then” como alias de “yield_self”, los nombres de las constantes pueden comenzar ahora con una letra mayúscula que no sea ASCII, la introducción de rangos sin límite y la adición de “Enumerable#chain” y “Enumerator#+”, de los operadores de composición de funciones “<<” y “>>” a “Proc” y “Method”, el método “Binding#source_location” para devolver la ubicación de origen de un binding y la opción “exception:” en “Kernel#system”. Los que quieran conocer todos los detalles de Ruby 2.6.0 pueden consultar la correspondiente entrada en el sitio web oficial de este lenguaje.
Ruby es un lenguaje sencillo que puede venir bien para aquellos que quieran iniciarse en el mundo de la programación (al igual que Lua), ya que su sintaxis es sencilla y permite hacer las mismas cosas de varias maneras (por ejemplo, los paréntesis en los parámetros de los métodos son opcionales). Por otro lado, es la tecnología con la que está construido el framework de aplicaciones web Ruby on Rails, de cuyo tutorial de instalación se pueden extraer los pasos para instalar Ruby 2.6.0 mediante rbenv.