diferencia entre un compilador y un interprete
Respuestas a la pregunta
Contestado por
6
interprete.Es un programa que lee línea a línea un programa escrito en un lenguaje;
en lenguaje fuente y lo va traduciendo a un código intermedio, para ejecutarlo.traduce el programa cuando lo lee, convirtiendo el código del programa
directamente en acciones.La ventaja del intérprete es que dado cualquier programa se puede
interpretarlo en cualquier plataforma (sistema operativo).No genera un ejecutable.El proceso de traducción
se realiza en cada ejecuciónLa ejecución es más
lenta, ya que para cada línea del programa es necesario realizar la
traducción.
No hay ejecutable, así
que si existe un intérprete para una plataforma concreta, el programa se
podrá ejecutar en ambas. Típicamente, los programas interpretados son mucho
más portables que los compilados, ya que suelen existir intérpretes del mismo
lenguaje en distintas plataformas. Los programas que se van a interpretar no
suelen ser muy dependientes de su plataforma de destino, siendo más
portables.
Los lenguajes
interpretados no suelen ser muy dependientes de la plataforma de destino,
pero en contrapartida suelen ser menos flexibles y potentes que los
compilados.
El código fuente es
necesario en cada ejecución, así que no puede permanecer en secreto
Los errores sintácticos
se detectan durante la ejecución, ya que traducción y ejecución se van
haciendo simultáneamente. Algún error sintáctico podría quedar enmascarado,
si para una ejecución concreta no es necesario traducir la línea que lo
contiene. (Algunos intérpretes son capaces de evitar esto)
Un programa interpretado
con un comportamiento torpe normalmente puede ser interrumpido sin
dificultad, ya que su ejecución está bajo el control del intérprete, y no
sólo del sistema operativo.
Compilador
Es un programa que lee
totalmente un programa escrito en un lenguaje; el lenguaje fuente, y lo
traduce a un programa equivalente a otro lenguaje, lenguaje objeto.
Un programa que ha sido
compilado puede correr por si solo, pues en el proceso de compilación se lo
transformo en otro lenguaje (lenguaje máquina).
El archivo generado por
el compilador solo funciona en la plataforma en donde se lo ha creado.
Un archivo compilado
puede ser distribuido fácilmente conociendo la plataforma, mientras que un
archivo interpretado no funciona si no se tiene el intérprete.
Hablando de la velocidad
de ejecución un archivo compilado es de 10 a 20 veces más rápido que un
archivo interpretado.
Genera un ejecutable
El proceso de traducción
se realiza una sola vez
La ejecución es muy
rápida debido a que el programa ya ha sido traducido a código máquina
El ejecutable va dirigido
a una plataforma concreta (una CPU, un sistema operativo, y quizá alguna otra
consideración), siendo prácticamente imposible portarlo a otra. En ocasiones,
si existe un compilador para otra plataforma, se puede recompilar el
programa, aunque normalmente esto plantea serias dificultades. Los programas
que se van a compilar suelen estar muy ligados a la plataforma de destino.
Los lenguajes compilados
suelen proporcionar al programador mecanismos más potentes y flexibles, a
costa de una mayor ligazón a la plataforma.
Una vez compilado el
programa, el código fuente no es necesario para ejecutarlo, así que puede
permanecer en secreto si se desea.
Los errores sintácticos
se detectan durante la compilación. Si el fuente contiene errores
sintácticos, el compilador no producirá un ejecutable.
Un programa compilado
puede, por error, afectar seriamente a la estabilidad de la plataforma,
comprometiendo la ejecución de los otros procesos, por ejemplo, acaparando la
CPU, la memoria o algún otro recurso, siendo a veces complicado para el
sistema operativo interrumpir su ejecución.
Otras preguntas
Ciencias Sociales,
hace 7 meses
Tratamiento de datos y azar,
hace 7 meses
Religión,
hace 7 meses
Estadística y Cálculo,
hace 1 año
Matemáticas,
hace 1 año