En los lenguajes de programación existen dos tipos de traductores, compilador e interprete ambos cumplen una misma función mediante métodos diferentes.
Compiladores
Los compiladores analizan el programa fuente y lo traducen generando un programa equivalente e independiente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina), que puede ejecutarse tantas veces como se quiera. Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua.
Interpretes
Un intérprete es un software que recibe un programa en lenguaje de alto nivel, lo analiza y lo ejecuta. Para analizar el programa completo, va traduciendo sentencias de código y ejecutándolas si están bien, así hasta completar el programa origen. Los intérpretes informáticos, al contrario que los compiladores, no generan un fichero ejecutable u otro programa equivalente en otro lenguaje, por lo que cada vez que se ejecuta el programa original debe pasar por la fase de análisis.
Un intérprete es un software que recibe un programa en lenguaje de alto nivel, lo analiza y lo ejecuta. Para analizar el programa completo, va traduciendo sentencias de código y ejecutándolas si están bien, así hasta completar el programa origen. Los intérpretes informáticos, al contrario que los compiladores, no generan un fichero ejecutable u otro programa equivalente en otro lenguaje, por lo que cada vez que se ejecuta el programa original debe pasar por la fase de análisis.
Compiladores Vs. Interpretes
Ventajas del intérprete frente al compilador:
- El programa se puede ejecutar de inmediato, sin esperar a ser compilado.
- Puede ser interrumpido con facilidad.
- Puede ser rápidamente modificado y ejecutado nuevamente.
- Resultan muy apropiados durante la fase de desarrollo de un programa, ya que la compilación no permite la ejecución paso a paso del programa y con ello impide la edición seguimiento y depuración del programa.
Desventajas del intérprete frente al compilador:
- La ejecución es más lenta, pues cada intrucción debe ser traducida a código máquina tantas veces como sea ejecutada.
- No son adecuados en la fase de explotación del programa ya que el proceso de interpretación se ha de repetir cada vez que se ejecuta el programa, mientras que con la compilación, una vez obtenido el programa en leguaje máquina éste puede ser ejecutado sin necesidad de compilarlo de nuevo.
Son lenguajes interpretados:
- PHP
- ASP (hasta la versión 3)
- HTML
- JavaScript
- Haskell
- Prolog
No hay comentarios:
Publicar un comentario