Te explicamos la Diferencia entre lenguaje compilado e interpretado con ejemplos y definiciones. Conoce todos los datos para distinguirlos fácilmente.

¿Cuál es la Diferencia entre lenguaje compilado e interpretado?
¿Qué es un lenguaje compilado?
Los ordenadores solo son capaces de ejecutar lenguaje máquina, que es el lenguaje de la unidad central de procesamiento (CPU) y es muy sencillo. El objetivo de cualquier implementación de un lenguaje de programación es traducir un programa fuente al lenguaje máquina para que pueda ser ejecutado por la CPU. Todas las implementaciones de lenguajes traducen un programa fuente a alguna representación intermedia antes de traducir la representación intermedia a lenguaje máquina. El método más directo de traducir un programa a lenguaje máquina se denomina compilación. Un programa escrito en un lenguaje compilado debe convertirse a un formato diferente antes de ejecutarse. El código fuente debe transformarse en instrucciones legibles por la máquina antes de su ejecución. En resumen, los lenguajes cuyas implementaciones suelen ser compiladores y no intérpretes se denominan lenguajes compilados.
¿Qué es una lengua interpretada?
Un intérprete es un programa escrito en otro lenguaje y compilado en lenguaje legible por la máquina. El propio intérprete es el programa en lenguaje máquina y está escrito para leer los programas fuente del lenguaje interpretado e interpretarlos. Un lenguaje interpretado, por el contrario, no compila el código fuente en lenguaje de máquina antes de ejecutar el programa. Se limita a interpretar el código sobre la marcha. Por tanto, no obtiene las ventajas ni los inconvenientes de los errores de compilación. Los lenguajes interpretados requieren una pieza de software llamada intérprete, que toma el código fuente y ejecuta una instrucción cada vez. Cuando ejecutas un programa fuente interpretado, en realidad estás ejecutando el intérprete. El intérprete es el programa en lenguaje máquina que ejecuta todos los programas que se escriben en el lenguaje interpretado.
Diferencia entre lenguaje compilado e interpretado
Conceptos básicos del lenguaje compilado e interpretado
– Un programa escrito en un lenguaje compilado debe convertirse a otro formato antes de ejecutarse. El código fuente debe transformarse en instrucciones legibles por la máquina antes de su ejecución. Un lenguaje interpretado, por el contrario, no compila el código fuente en lenguaje máquina antes de ejecutar el programa. Se limita a interpretar el código sobre la marcha. Los lenguajes interpretados requieren un programa llamado intérprete, que toma el código fuente y ejecuta las instrucciones de una en una.
Compilador frente a intérprete
– Con los lenguajes compilados, hay al menos dos pasos para pasar del código fuente a la ejecución, mientras que con los lenguajes interpretados solo hay uno: la ejecución. Un programa escrito en un lenguaje interpretado no se compila, sino que es interpretado por otro programa mientras se ejecuta. Un programa escrito en un lenguaje compilado pasa por un proceso para cambiarlo de su formato de texto legible por humanos a un formato legible por máquinas. Esta transición la realiza un programa llamado compilador.
Usabilidad
– Los programas compilados se ejecutan más rápido que los interpretados, pero estos últimos pueden modificarse mientras se ejecutan. Esto hace que los programas interpretados sean ideales para escribir software de ejecución en directo. Trabajar con lenguajes compilados puede ser agradable porque se encuentran muchos fallos cuando se compila el código fuente. Estos fallos, llamados errores de compilación, impiden que el código se compile. Por el contrario, los lenguajes interpretados no se compilan, por lo que no se obtienen las ventajas ni los inconvenientes de los errores de compilación.
Depuración
– Con los lenguajes interpretados, toda la depuración se produce en tiempo de ejecución. No hay un paso de compilación durante el cual puedas descartar todos los errores de sintaxis de tu código: en su lugar, tienes que ejecutar el programa para encontrar cualquier error en él. Esto se convierte en un problema cuando el programa interpretado modifica archivos o realiza cambios en recursos permanentes. Esto hace que algunos errores sean más difíciles de detectar porque no es necesario compilar el código. Los lenguajes interpretados también presentan algunos problemas de seguridad en el entorno en línea, ya que se puede inyectar código malicioso a mitad de la ejecución.
Lenguaje compilado frente a lenguaje interpretado: Cuadro comparativo
Resumen del lenguaje compilado frente al interpretado
En pocas palabras, tanto los lenguajes compilados como los interpretados tienen sus puntos fuertes. Algunos lenguajes requieren que se compile todo el código antes de poder ejecutarlo. Otros lenguajes interpretan cada instrucción en el momento en que se ejecuta el código. La principal diferencia entre ambos es que los lenguajes compilados requieren al menos dos pasos para pasar del código fuente a la ejecución. Sin embargo, con los lenguajes interpretados, solo hay un paso: la ejecución. Los programas compilados se ejecutan más rápido que los interpretados, pero éstos pueden modificarse mientras el programa se está ejecutando.
