Compilación vs Interpretación
¿Qué es la compilación y la interpretación?
Original article: Interpreted vs Compiled Programming Languages: What's the Difference?
Cada programa es un conjunto de instrucciones, ya sea sumar dos números o enviar una petición a través de internet. Los compiladores e intérpretes toman código legible por los humanos y lo convierten en código máquina legible por computadoras.
En un lenguaje compilado, la máquina de destino traduce directamente el programa. En un lenguaje interpretado, el código fuente no es directamente traducido por la máquina de destino. En cambio, un distinto programa, mejor conocido como intérprete, lee el código y lo ejecuta.
Lenguajes compilados
Los lenguajes compilados son convertidos directamente a código máquina que el procesador puede ejecutar.
Los lenguajes compilados necesitan un paso de compilación (build) - primero necesitan compilarse manualmente.
Algunos ejemplos de lenguajes compilados puros son C, C++, Erlang, Haskell, Rust y Go.
Lenguajes interpretados
Estos lenguajes ejecutan línea por línea el programa y a la vez ejecutan cada comando.
Los lenguajes interpretados alguna vez fueron significativamente más lentos que los lenguajes compilados.
Ejemplos comunes de lenguajes interpretados son PHP, Ruby, Python y JavaScript.
Una pequeña advertencia
La mayoría de los lenguajes de programación pueden tener implementaciones tanto compiladas como interpretadas, el lenguaje en sí mismo no es necesariamente compilado o interpretado. Sin embargo, por cuestiones de simplicidad, normalmente se les conoce de tal manera.
Python, por ejemplo, puede ser ejecutado ya sea como programa compilado o como un lenguaje interpretado en modo interactivo. Por el otro lado, la mayoría de las herramientas de línea de comandos, CLIs y shells pueden ser teóricamente clasificadas como lenguajes interpretados.
Ventajas y desventajas
Ventajas de los lenguajes compilados
Los programas que son compilados a un código máquina nativo suelen ser más rápidos que los lenguajes interpretados. Esto es debido a que el proceso de traducción del código en tiempo de ejecución aumenta la sobrecarga y puede ocasionar que el programa sea más lento en general.
Desventajas de los lenguajes compilados
Las desventajas más notables son:
- Tiempo extra necesario para completar la compilación completa antes de la prueba
- Dependencia de la plataforma del código binario generado
Ventajas de los lenguajes interpretados
Los lenguajes interpretados suelen ser más flexibles, y a menudo ofrecen características como escritura dinámica y tamaño de programa más pequeño. Además, ya que los intérpretes ejecutan el código fuente del programa ellos mismos, el código en sí es independiente de la plataforma.
Desventajas de los lenguajes interpretados
La desventaja más notable es la velocidad de ejecución típica comparada con los lenguajes compilados.


Comentarios
Publicar un comentario