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