Compilador vs Intérprete

El compilador y el intérprete son dos formas diferentes de traducir un programa del lenguaje de programación o secuencias de comandos al lenguaje de máquina. 

Un compilador toma el programa completo y lo convierte en código objeto que normalmente se almacena en un archivo. El código objeto también se conoce como código binario y puede ser ejecutado directamente por la máquina después de la vinculación. Ejemplos de lenguajes de programación compilados son C y C++

Un Intérprete ejecuta directamente instrucciones escritas en un lenguaje de programación o secuencias de comandos sin convertirlas previamente a un código de objeto o código de máquina. Ejemplos de lenguajes interpretados son Perl, Python y Matlab. 

Los siguientes son algunos datos interesantes sobre intérpretes y compiladores. 

1) Tanto los compiladores como los intérpretes convierten el código fuente (archivos de texto) en tokens, ambos pueden generar un árbol de análisis y ambos pueden generar instrucciones inmediatas. La diferencia básica es que un sistema compilador, que incluye un enlazador (incorporado o separado), genera un programa de código de máquina independiente, mientras que un sistema de interpretación realiza las acciones descritas por el programa de alto nivel. 

2) Una vez que se compila un programa, su código fuente no es útil para ejecutar el código. Para los programas interpretados, se necesita el código fuente para ejecutar el programa cada vez. 

3) En general, los programas interpretados corren más lento que los programas compilados. 

4) Los programas Java primero se compilan en una forma intermedia y luego el intérprete los interpreta. 

Referencias:  
http://en.wikipedia.org/wiki/Interpreter_%28computing%29  
http://en.wikipedia.org/wiki/Compiler 

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente. 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *