Posteriormente a buscar en varios repositorios y páginas de internet finalmente nos encontramos con la resolución que te enseñaremos a continuación.
Solución:
compiladores
Los compiladores fueron el primer tipo de programa traductor que se escribió. La idea es simple: escribes el programa, luego lo entregas al compilador que lo traduce. Luego ejecutas el resultado.
Intérpretes
Un intérprete es también un programa que traduce un lenguaje de alto nivel a uno de bajo nivel, pero lo hace en el momento en que se ejecuta el programa. Escribes el programa usando un editor de texto o algo similar, y luego le indicas al intérprete que ejecute el programa. Toma el programa, una línea a la vez, y traduce cada línea antes de ejecutarlo: traduce la primera línea y la ejecuta, luego traduce la segunda línea y la ejecuta, etc.
Características del compilador:
- pasa mucho tiempo analizando y procesando el programa
- el ejecutable resultante es alguna forma de código binario específico de la máquina
- el hardware de la computadora interpreta (ejecuta) el código resultante
- la ejecución del programa es rápida
Características del intérprete:
- se dedica relativamente poco tiempo a analizar y procesar el programa
- el código resultante es una especie de código intermedio
- el código resultante es interpretado por otro programa
- la ejecución del programa es relativamente lenta
¿Qué es un traductor?
Un Traductor S -> T acepta el código expresado en el idioma de origen S y lo traduce a un código equivalente expresado en otro idioma (de destino) T.
Ejemplos de traductores:
- Compiladores: traduce código de alto nivel a código de bajo nivel, p. Java -> JVM
- Ensambladores: traduce el código de lenguaje ensamblador a código de máquina, por ejemplo x86as -> x86
- Traductores de alto nivel: traduce código de un PL a otro, p. Java->C
- Descompiladores: traduce código de bajo nivel a código de alto nivel, p. Código de bytes Java JVM -> Java
¿Qué es un intérprete?
Un intérprete de s acepta código expresado en lenguaje S, e inmediatamente ejecuta ese código. Funciona buscando, analizando y ejecutando una instrucción a la vez.
Excelente cuando el usuario ingresa instrucciones de forma interactiva (piense en Python) y le gustaría obtener el resultado antes de ingresar la siguiente instrucción. También es útil cuando el programa debe ejecutarse una sola vez o requiere ser portátil.
- Interpretar un programa es mucho más lento que ejecutar código de máquina nativo
- Interpretar un lenguaje de alto nivel es ~100 veces más lento
- La interpretación de un lenguaje de nivel intermedio (como el código de bytes JVM) es aproximadamente 10 veces más lenta
- Si una instrucción se llama repetidamente, se analizará repetidamente, ¡consumiendo mucho tiempo!
- No es necesario compilar código
diferencias
Conducta
-
Un compilador traduce el código fuente a código de máquina, pero no ejecuta el código fuente ni el código objeto.
-
Un intérprete ejecuta el código fuente una instrucción a la vez, pero no traduce el código fuente.
Rendimiento
- Un compilador tarda mucho tiempo en traducir el programa fuente a un código de máquina nativo, pero la ejecución posterior es rápida.
- Un intérprete comienza a ejecutar el programa fuente inmediatamente, pero la ejecución es lenta
compiladores interpretativos
Un compilador interpretativo es un buen compromiso entre compiladores e intérpretes. Traduce el programa fuente en código de máquina virtual, que luego se interpreta.
Un compilador interpretativo combina una traducción rápida con una ejecución moderadamente rápida, siempre que:
- El código de la máquina virtual es más bajo que el idioma de origen, pero más alto que el código de máquina nativo
- Las instrucciones de VM tienen formatos simples (pueden ser analizadas rápidamente por un intérprete)
Ejemplo: JDK proporciona un compilador interpretativo para Java.
Compilador, transforma el código fuente de un lenguaje informático a otro.
Intérprete, ejecuta el código fuente directamente (generalmente dentro de su propia máquina virtual).
(fuente: respuestas.com)
Por lo general, el intérprete tiene un rendimiento costoso.
Más adelante puedes encontrar los comentarios de otros usuarios, tú además tienes la libertad de dejar el tuyo si lo deseas.