Oracle ha propuesto un nuevo proyecto OpenJDK, para crear un motor de Javascript más rápido y menos pesado, que corra sobre la Java Virtual Machine (JVM). El proyecto Nashorn, que significa rinoceronte en alemán, está siendo votado en estos días. El motor de Javascript, Rhino (rinoceronte en inglés), el cual es apoyado por Mozilla, ya da una implementación en Java. Está escrito en este lenguaje y se usa frecuentemente para implemetar código que se interpreta dentro de los programas en Java El nuevo proyecto busca hacer uso de estas nuevas características de Java para acelerar además las cosas.

La propuesta dice: “Queremos empezar un nuevo proyecto de implementar un mecanismo de tiempo de ejecución de Javascript de alto desempeño dentro de la JVM. Este proyecto pretende que los desarrolladores de Java puedan incrustar Javascript en sus aplicaciones en Java vía JSR-233 y así desarrollar aplicaciones usando la herramienta de línea de comandos jrunscript“.

Y aunque hay una obvia tentación de incorporar código existente en el nuevo proyecto, la intención es empezar desde cero, desde una nueva base. Desde Rhino las cosas se han movido basándose en la habilidad de Java para soportar lenguajes dinámicos y las llamadas del API, como Invoke Dynamic podrían ser más rápidas y más confiables sin los problemas que tiene Rhino en este sentido.

Oracle tiene ya algo de código escrito y su plan es compartirlo si el proyecto tiene los suficientes votos a favor. Laz votación se cierra el 6 de diciembre para los miembros del OpenJDK.

Para muchos Nashorn se ve como principalmente un reemplazo de Rhino en la forma de poder incrustar código de Javascript en los programas de Java. Sin embargo, si es tan rápido como se promete, otros proyectos de Javascript tales como Node.js podrían ser considerados.  Los motores de Javascript basados en C/C++ son usualmente más rápidos que los basados en la JVM que trabajan bajo JIT (just-in-time compiler), pero la ventaja en usar la JVM es que sería portable. Cualquiera podría correr Java con Rhino y pronto con Nashorn.

Lo que parece quedar claro es que el empuje a Javascript sigue a todo lo que da. Es, en mi opinión, el nuevo Basic y estoy seguro que dominará los lenguajes de script por mucho tiempo.

He aquí un video que habla de esta propuesta:

Referencias

i-programmer
Propuesta de Nashorn