Spiga
Blog Widget by LinkWithin

Invocación dinámica en OpenJDK, un gran paso para la 'Da Vinci Machine'

John Rose ha anunciado que ha logrado la primera invocación exitosa a un método mediante la instrucción 'invokedynamic'. Esta instrucción es un importante paso hacia la creación de una máquina virtual multilenguaje, denominada "Da Vinci Machine". Esta máquina virtual pretende dar soporte a muchos lenguajes, muchos de ellos con tipado dinámico, lo cuál genera necesidades específicas para la máquina virtual que los soporte.

Personalmente creo que la "Da Vinci Machine" es un esfuerzo más que interesante y necesario para disponer de una plataforma común de ejecución de lenguajes interpretados ya que el desarrollo de múltiples máquinas virtuales resulta, muchas veces, en la repetición continuada de esfuerzos y, desde el punto de vista del usuario, en tener que instalar diversas máquinas virtuales en la misma máquina. Por otra parte, la convivencia entre lenguajes es vital, ya que muchos de ellos han conseguido su propio nicho para el que son más adecuados (Ruby y PHP para web, Java para entornos empresariales, Python como lenguaje de scripting, etc.).

Para quién quiera profundizar en la invocación dinámica y los fundamentos de la "Da Vinci Machine", os dejo un enlace a una charla de Girald Bracha titulada "Dynamically Typed Languages for the JVM".

4 comentarios:

  luiX_

2:12 p. m.

puff... puede ser un arma de doble filo... vale, mola que un usuario pueda instalarse una sóla máquina virtual y poder ejecutar de todo sólo con eso, pero... si no te hace falta tanto estás manteniendo la ostia de librerías y demás que no te valen para nada.

Y por otro lado está la cantidad de inseguridad que puede dar ésto... xD

  JoSeK

3:20 p. m.

Piensa que máquina virtual es solo una y las librerías (p.e. APIs, etc.) se cargan solo bajo demanda. Lo de la seguridad...habrá que ver, pero vamos, es verdad que a más lenguajes y funcionalidades, mayores posibilidades para los agujeros ;)

  Walter Negro

4:51 a. m.

Mas o menos como que desde el año 1993 Clipper ya hacía eso.

  JoSeK

8:52 a. m.

Hola, Walter:

Si te refieres a la invocación dinámica, es un mecanismo que está implementado en múltiples sitios, pero todavía no lo estaba en OpenJDK, ya que éste estaba orientado a Java y al no tener un tipado dinámico, no era necesario.