Diferencia entre compilador e intérprete

 1. Compilador : 
es un traductor que toma entrada, es decir, lenguaje de alto nivel, y produce una salida de lenguaje de bajo nivel, es decir, lenguaje de máquina o ensamblador. 

  • Un compilador es más inteligente que un ensamblador, comprueba todo tipo de límites, rangos, errores, etc.
  • Pero el tiempo de ejecución de su programa es mayor y ocupa una mayor parte de la memoria. Tiene una velocidad lenta porque un compilador pasa por todo el programa y luego traduce todo el programa a códigos de máquina.
     

Figura – Proceso del compilador 

2. Intérprete : 
Un intérprete es un programa que traduce un lenguaje de programación a un lenguaje comprensible. –  

  • Traduce solo una declaración del programa a la vez.
  • Los intérpretes, en la mayoría de los casos, son más pequeños que los compiladores. 

Figura – Proceso de intérprete 

Veamos la diferencia entre Compilador e Intérprete: 

S. No. Compilador Interprete
1. El compilador escanea todo el programa de una sola vez. Traduce el programa una declaración a la vez.
2. A medida que escanea el código de una sola vez, los errores (si los hay) se muestran juntos al final. Teniendo en cuenta que escanea el código una línea a la vez, los errores se muestran línea por línea.
3. La principal ventaja de los compiladores es su tiempo de ejecución. Debido a que los intérpretes tardan en ejecutar el código objeto, se prefiere menos.
4. Convierte el código fuente en código objeto. No convierte el código fuente en código objeto, sino que lo escanea línea por línea
5 No requiere código fuente para su posterior ejecución. Requiere código fuente para su posterior ejecución.
6 La ejecución del programa tiene lugar solo después de compilar todo el programa. La ejecución del programa ocurre después de que se verifica o evalúa cada línea.
7 El código de máquina se almacena en el almacenamiento del disco. El código de máquina no está almacenado en ninguna parte.
8 Los compiladores a menudo toman una gran cantidad de tiempo para analizar el código fuente. En comparación, los intérpretes tardan menos en analizar el código fuente.
9. Es más eficiente. Es menos eficiente.
10 La utilización de la CPU es más. La utilización de la CPU es menor.
P.ej. C, C++, C#, etc. son lenguajes de programación basados ​​en compiladores. Python, Ruby, Perl, SNOBOL, MATLAB, etc. son lenguajes de programación basados ​​en intérpretes.

Publicación traducida automáticamente

Artículo escrito por imarchit19 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 *