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“.