Alejandro Weinstein escribió: > On Nov 16, 2007 10:23 AM, Franco Catrin L. <[EMAIL PROTECTED]> wrote: > >> Segun entiendo esos no son compilados reales, runcobol es un interprete, >> no una maquina virtual. >> > > Cual es la diferencia entre un interprete y una maquina virtual? En > google no pude encontrar una respuesta clara. Encontre por ejemplo: > > "The Java virtual machine is another term for the Java interpreter" en > http://safari.oreilly.com/1565924185/ch01-18331 > > "Cuando Java es compilado y pasado a código de bytes, un interprete > llamado maquina virtual" en > http://arechiga.50megs.com/tpoo2/javah1.html >
El segundo link casi me deja ciego ;) Aqui hay una buena definicion: Interpreter (computing) http://en.wikipedia.org/wiki/Interpreter_(computing) Voy a traducir un trozo referente a Java y .NET: JIT se refiere a la técnica donde el bytecode se compila a codigo de maquina nativo en tiempo de ejecución, obteniendo la alta velocidad de ejecución del codigo nativo con el costo de incrementar el tiempo de partida cuando se compila el bytecode. Ha ganado atencion en los últimos años, y queda aun más difusa la distinción entre interpretes, interpretes de byte code y compiladores. JIT esta disponible para las plataformas .NET y Java. La técnica de usar JIT tiene un par de décadas de antiguedad, apareciendo en lenguajes como Smalltalk en los 80. Java bytecode: Understanding bytecode makes you a better programmer http://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/ Y para ver en mas detalle: A first look at the bytecodes of the Java virtual machine http://www.javaworld.com/javaworld/jw-09-1996/jw-09-bytecodes.html Java Bytecode Assembler Examples http://www.cs.rpi.edu/~moorthy/Courses/compiler99/Assembler/examples.html -- Franco