Llegamos a ustedes gracias a:



Noticias

El fin de BigLittle: Ruby unifica clases completas

[13/07/2016] El upgrade más reciente de Ruby, el popular lenguaje dinámico de código abierto, mejorará el rendimiento y la simplicidad.

Esta semana se lanzó una versión preliminar, Ruby 2.4.0, del upgrade. La versión general se encuentra programada para Navidad, el 25 de diciembre, y una versión beta se tiene programada para varios meses antes de la disponibilidad general, afirmó Yukihiro Matsumoto, fundador de Ruby.

La versión preliminar 1 mejora el rendimiento mediante la optimización de los métodos [x, y].max y .min para no crear un array temporal bajos ciertas condiciones. El lenguaje también mejora en el rendimiento mediante la incorporación del método Regexp#match, el cual ejecuta un match regexp sin crear un objeto de referencia original, lo cual genera una menor asignación de objetos. Regexp mantiene una expresión regular y es utilizada para emparejar patrones contra las cadenas. La versión 2.4.0 también acelera el acceso a las variables de instancias.

Ruby 2.4.0 promueve la simplificación a través de la unificación de clases completas de Fixnum y Bignum. "En la etapa inicial del desarrollo de Ruby, heredé el diseño de las clases enteras de Lisp y Smalltalk, afirmó Matsumoto. "Lisp tiene Fixnum y Bignum. Smalltalk tiene SmallInteger y BigInteger. Pero de los 20 años de experiencia, nos dimos cuenta de que la distinción en base al tamaño completo es artificial y no imprescindible para la programación.

Para mejorar la depuración, se mejora la detección del interbloqueo de subprocesos en el upgrade, de acuerdo a un boletín sobre la versión. "Ruby tiene detección de interbloqueo en los subprocesos en espera, pero su informe no incluye suficiente información para la depuración. La detección de interbloqueos de Ruby 2.4 muestra a los subprocesos con su backtrace y subprocesos dependientes.

También en la versión 2.4.0, el método String / Symbol#upcase / downcase / swapcase / capitalize(!) ahora soporta mapeos Unicode case en lugar de solo mapeos ASCII. "Unicode no era popular cuando añadimos soporte de Unicode para Ruby. Así que después de la discusión con expertos - incluyendo a Tim Bray (cofundador de XML), que era miembro [del] consorcio Unicode en aquel entonces - decidimos hacer que esos métodos soportaran sólo ASCII, afirmó Matsumoto. "Pero a medida que pasaron los años, todos usan ahora Unicode, especialmente en el campo de la Web, y podemos confiar en la tabla de conversión de casos de Unicode.org. La nueva conversión de casos es más natural para los programadores que usan caracteres no ASCII.