¿Cuál es la diferencia entre compilación e interpretación?

La diferencia entre compilación e interpretación radica en los diferentes métodos de comunicación con la computadora, diferentes entornos de ejecución y diferentes velocidades de ejecución.

En primer lugar, el método de comunicación con la computadora es diferente

La compilación consiste en traducir el programa fuente en código objeto ejecutable y ejecutar el archivo del programa ejecutable. La traducción y la ejecución están separadas.

El intérprete no genera código objeto. Saca las declaraciones del programa fuente una por una y las ejecuta mientras las interpreta. El intérprete interpreta el archivo de código fuente en lenguaje de máquina y luego lo entrega a la CPU para su ejecución.

En segundo lugar, los entornos operativos son diferentes

Los compiladores no son multiplataforma. Los diferentes sistemas operativos llaman a diferentes instrucciones de máquina en la capa inferior, por lo que es necesario generar diferentes códigos de máquina para diferentes. plataformas. Cada vez que el compilador modifica el código fuente, debe volver a compilarse para generar un archivo de código de máquina.

El intérprete se puede utilizar en varias plataformas, porque el intérprete ya ha realizado un procesamiento interactivo en diferentes plataformas y el código fuente escrito por el usuario no necesita considerar las diferencias. El código fuente se puede ejecutar directamente en todas las plataformas y el intérprete se puede modificar en cualquier momento con efecto inmediato. Una vez modificado el código fuente, puede ejecutarlo directamente para ver el efecto.

En tercer lugar, la velocidad de ejecución es diferente

Los compiladores son rápidos porque el código de su programa ha sido traducido a un lenguaje de máquina que la computadora puede entender.

El intérprete es ineficiente. Todos los códigos requieren un intérprete para interpretar y ejecutar, lo cual es mucho más lento que el código compilado.