Buscar
Social
Ofertas laborales ES
« Kathy Sierra deja Sun | Main | Interfase21 lanza blog corporativo »
viernes
ago042006

JSR292 - Soporte para lenguajes dinámicos

Sun planea extender la JVM para incluir soporte que permita la ejecución eficiente de lenguajes dinámicos. Sun Digging Deep for Dynamic Language Support



Se trata de una iniciativa que ha tomado oficialmente la forma de JSR JSR292, su promotor Gilad Bracha es "Teólogo computacional" en Sun y coautor de la especificación del Lenguaje Java. Fundamentalmente se trataría de incluir dos nuevas características a nivel de máquina virtual:



* Una nueva instrucción: invokedynamic. Similar a la instrucción invokevirtual pero sin verificado de tipos. Sí hay chequeo de tipos, pero en vez de incluirse esta información de forma estática en el bytecode, la comprobación se hace de forma dinámica durante la ejecución.



* La posibilidad de hacer hotswapping. Modificación del código "al vuelo", es decir, sería posible añadir/quitar métodos, atributos etc..., en tiempo de ejecución. Esta posibilidad parece ser la más problemática de implementar, de hecho, el JSR no se moja al respecto y sólo afirma que hará todo lo posible.



La intención de Gilad sería poder incluir este JSR en la version Java SE 7 "Dolphin", pero antes tendrá que convencer a un sector importante dentro del mundo Java que ve en esta iniciativa un ataque directo a toda la filosofía Java basada en la programación estática, e incluso para el propio lenguaje Java. Para este sector el soporte previsto en Mustang para la ejecución de lenguajes de scripting desde código Java es lo más apropiado, donde además vendrá de serie un nuevo paquete con la implementación Rhino de JavaScript.



Por el contrario, sus partidarios piensan que la iniciativa está aún demasiado verde, y que para cuando vea la luz será demasiado tarde, y se temen también, que será demasiado reducida. Mientras tanto sería la plataforma .NET de Microsoft y su clon multiplataforma Mono el entorno más adecuado para el desarrollo de las nuevas iniciativas que involucran lenguajes dinámicos



Gilad consciente del reto y de las dificultades, apunta a la posibilidad de que, al menos al principio, hacer que estas nuevas características no estén activadas por defecto, y que para su utilización fuese necesario utilizar una opción de comando ¿-dynamic?. De esa manera no impones a nadie nada.



Personalmente no soy muy optimista, dudo mucho que este JSR vea algún día la luz, las dificultades son demasiado altas, la voluntad está lejos de ser unánime, y algunas posturas están demasiado radicalizadas

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.