BicaVM: una máquina virtual de Java escrita en Javascript

El mundo del software está ligeramente loco por la grandísima flexibilidad de cualquiera de los lenguajes de programación. Una vez que has absorbido la idea de un compilador escrito en el mismo lenguaje que este compila ¿qué más queda para pasmarte? Pero ... una máquina virtual de Java (JVM) escrita en Javascript parece estar a otro nivel de locura.

No se me ocurre una forma mejor de comenzar esta reseña que la de Mike James. Aunque parte de este mérito lo tienen los lenguajes y su flexibilidad no olvidemos que hace unos años realizar algo parecido en Javascript era casi imposible debido al escaso rendimiento de los motores que había en el momento, por lo tanto gran parte de todo esto se debe al enorme trabajo de optimización que han sufrido y que siguen evolucionando en dicho camino.

El autor de este invento, Artur Ventura, explica que la motivación para todo este esfuerzo que llevó hacer BicaVM fue ver su sueño realizado, uno en el que los navegadores lleven una máquina virtual donde poder ejecutar cualquier lenguaje y que no esté limitado a Javascript. Aunque esta idea da para mucho desde el punto de vista técnico no le falta razón desde el punto de vista de la seguridad y la estandarización, aunque seguiríamos teniendo problemas con el DOM ¿verdad?

De todas formas esta prueba de concepto no es la única, ya que tenemos también la de JSava Sean Barker que incluso funciona en Rhino, así que tenemos a C (Rhino) ejecutando JSava (Javascript) que ejecuta Java bytecode. Y en los comentarios de la noticia hay usuarios que animan a ejecutar un navegador web dentro de dicha máquina virtual que ejecutaría de nuevo dicho navegador hasta el infinito y más allá, o dicho en pseudocódigo:


10 Write Browser in Java
20 Write Javascript engine in Browser
30 GOTO 10

Via | Slashdot

Portada de Genbeta