Java popularizó el concepto de Máquina Virtual (VM) y .NET, con su CLR (Common Language Runtime), apuesta también por esta tecnología.
¿En qué consiste? En que los programas no son directamente compilados para el código máquina del ordenador donde se va a ejecutar. En su lugar, se genera un código máquina intermedio que es en tiempo de ejecución interpretado por la VM o el CLR.
Esto ha facilitado el que se desarrollen nuevos lenguajes o que se recuperen lenguajes ya casi olvidados de los cuales se han creado compiladores que aprovechan estas máquinas virtuales y generan código para ellas.
De hecho, uno de los argumentos de venta de Microsoft con su plataforma .NET es esta característica multi-lenguaje de la misma. Un desarrollador puede elegir cualquiera de los lenguajes que disponen de compilador para el CLR y buena muestra de ello es esta lista de lenguajes para .NET.
Pero Java no se queda atrás y aunque nunca ha estado demasiado extendido, existen decenas de lenguajes que compilan byte-codes de la JVM. En Programming Languages for the Java Virtual Machine se recopilan casi 200.
Por Juanjo Navarro, 24 noviembre 05 |
Java,
.NET | [2]