jueves
dic152011
Tutorial de lenguajes dinámicos en Java 7, por Roberto Montero
Roberto Montero nos ha enviado otro tutorial más, esta vez sobre lenguajes dinámicos en Java 7. Podéis descargar el tutorial debajo de estas líneas:
Java 7: soporte a lenguajes dinámicos.
Aprovechamos la ocasión para agradecer a Roberto su continua contribución a crecer la documentación de javaHispano.
Reader Comments (4)
Muchas gracias Roberto.
Gracias, quiero deciros 2 cosas mas:
1. Me gustaría que en el lenguaje de programación de Java se incluyera una sola extensión: el GOTO. El objetivo es simple, usar el lenguaje Java como target de compiladores de muy alto nivel, por ejemplo, una variante de compilador de Lisp que incluyera reglas lógicas similares a la de Prolog, reglas de planificadores temporales, etc. y que generase a dicho lenguaje de intermedio nivel textual para ahorrarse esfuerzos de las complejísimas implementaciones de compiladores optimizadores.
2. Según he leido una información interna de desfasado ensamblador Jasmin, cabe la posibilidad de generarse a dicho texto ensamblador de bytecodes que provee GOTOs incondicionales y condicionales en vez al texto java.
En fin, ya he comentado dos detalles para que futuros desarrolladores puedan aprovechar dichas ventajas.
¿cuántos años-luz hacen falta para construir un compilador interpretativo que tomara de entrada un lenguaje de muy alto nivel multiparadigmático funcional semi-puro y lógico, y que generase código intermedio para estas máquinas abstractas integradas de Warren (que es popular) y de Categorical Abstract Machine (CAM) de Cousineau?
¿y de estas máquinas abstractas al lenguaje textual Java?
¿y del lenguaje textual Java a bytecodes de JVM? Bueno, esta última pregunta ya tiene respuesta trivial, y es que ya está implementada.
Bueno, ¿para cuándo usar Java como target de compiladores en vez de C o de bytecodes de JVM? Osease, X -> Java en vez de X -> C.
Llevaba cuestionando desde hace mucho tiempo
¿por qué el Java Development Kit nunca provee un ensamblador de JVM aunque sí un desensamblador?
Sin ensamblador de JVM entonces difícil es construir apilaciones de Ts del libro del dragón rojo de Aho-Ullman.
En el desfasado Jasmin (creo que su ensamblador cubre hasta Java 2 pero creo que es retrocompatible desde Java 7) decía que la ausencia de tal ensamblador se debía a que la representación intermedia de JVM se consideraba hostil frente a la representación del lenguaje Java.