“Conocimiento Programación>Lenguajes De Programación

¿Diferencia entre los lenguajes informáticos traducidos e interpretados?

2014/7/6
La diferencia entre los lenguajes informáticos traducidos e interpretados radica en * cómo * el código fuente (el programa escrito por un humano) es ejecutado por la computadora. Ambos convierten el código legible para humanos en instrucciones legibles por máquina, pero lo hacen en diferentes momentos y de diferentes maneras:

Idiomas traducidos (idiomas compilados):

* Proceso de traducción: Un * compilador * toma todo el programa de código fuente como entrada y lo traduce en un programa completo de código de máquina (o una representación intermedia que luego se traduce al código de la máquina) * antes de * el programa se ejecuta. Este proceso a menudo se llama *compilación *. El código de la máquina resultante es un archivo separado (como un `.exe` en Windows o un archivo ejecutable en otros sistemas).

* Ejecución: El código de la máquina compilado es ejecutado directamente por el procesador de la computadora.

* velocidad: Generalmente, una ejecución más rápida porque la traducción se realiza de antemano, y el procesador ejecuta el código de máquina optimizado directamente.

* Detección de errores: Los errores del compilador se detectan * antes de * tiempo de ejecución. El compilador identificará errores de sintaxis y algunos errores semánticos durante el proceso de compilación.

* Portabilidad: Típicamente menos portátil. Un programa compilado para un sistema operativo o arquitectura generalmente no se ejecutará en otro sin recompilación.

* Ejemplos: C, C ++, Go, Rust, Fortran

Idiomas interpretados:

* Proceso de traducción: Un *intérprete *toma el código fuente de línea por línea (o a veces en trozos más grandes) y traduce y ejecuta cada pieza *inmediatamente *. No hay un paso de compilación separado que produzca un ejecutable independiente.

* Ejecución: El intérprete lee, traduce y ejecuta el código simultáneamente. No produce un archivo de código de máquina separado.

* velocidad: Generalmente ejecución más lenta debido a la traducción sobre la marcha. Cada línea (o fragmento) debe interpretarse cada vez que se ejecuta.

* Detección de errores: Los errores a menudo se detectan solo durante el tiempo de ejecución. Es posible que el intérprete no capte todos los errores hasta que se ejecute el código problemático.

* Portabilidad: A menudo más portátil. Mientras el intérprete esté disponible para una plataforma en particular, el código fuente generalmente puede ejecutarse.

* Ejemplos: Python, JavaScript, Ruby, Perl, PHP

Enfoques híbridos:

Es importante tener en cuenta que la distinción no siempre está clara. Algunos idiomas emplean un enfoque híbrido:

* Compilación de justo en tiempo (JIT): Lenguajes como Java y C# inicialmente compilan el código fuente en una representación intermedia (código de byte). Un compilador JIT luego traduce esta representación intermedia en el código de la máquina *durante el tiempo de ejecución *. Esto combina las ventajas de los lenguajes interpretados y compilados:portabilidad inicial (como interpretada) y una ejecución más rápida de secciones de código de uso frecuente (como compilado).

En resumen:la compilación traduce todo el programa a la vez * antes * de ejecución, lo que lleva a una ejecución más rápida pero menos portabilidad y detección de errores iniciales. La interpretación traduce y ejecuta código línea por línea, proporcionando una mejor portabilidad pero una ejecución más lenta y detección de errores de tiempo de ejecución. Muchos idiomas modernos utilizan enfoques híbridos para obtener lo mejor de ambos mundos.

Lenguajes De Programación
Diferencia entre el texto enriquecido y HTML
Cómo Código de XSPF
Cómo restablecer una Columna dependiente
Cómo Listas Coloca desplegable DataGrids en Asp.NET
Cómo encontrar el número más pequeño en una matriz
Cómo construir un Skate Park Game
Cómo hacer un Informe de hojas de Excel con VBA
Cómo construir un sistema de afiliados en ColdFusion
Conocimiento de la computadora © http://www.ordenador.online