Lenguajes compilados y interpretados
Lenguajes compilados
Los lenguajes compilados son aquellos que previo a la ejecución del código desarrollado requieren que dicho código se convierta al lenguaje máquina, es decir, a código binario nativo del dispositivo o plataforma donde se lo va a ejecutar. Este proceso de conversión se llama compilación.
Por ejemplo, si compilamos nuestro código para ejecutarlo en el sistema operativo Windows, se generará un archivo .exe que podremos ejecutar directamente.
Las ventajas de los lenguajes compilados son:
- suelen incluir todas las dependencias (las bibliotecas externas que utiliza) en el propio archivo ejecutable,
- su ejecución es muy rápida ya que el código binario se optimiza para su ejecución nativa en comparación con el código interpretado que definiremos en la siguiente pantalla.
La desventaja de un lenguaje compilado es que el proceso de compilación hace del ciclo de desarrollo (escritura/compilación/testeo/depuración) un poco más lento que al trabajar con un lenguaje interpretado.
Lenguajes interpretados
Los lenguajes interpretados no requieren del proceso de conversión a código binario (compilación), pero en su lugar requiren de un software que tome el código fuente y lo ejecute, hablamos del intérprete.
El intérprete recorre el código y lo ejecuta línea a línea a la vez que lo lee.
Esto hace que el proceso de desarrollo sea muy ágil, ya que simplemente se edita el código y se lo vuelve a ejecutar.
Por otra parte los lenguajes interpretados tienden a ser más lentos en ejecución que los lenguajes compilados.
La elección entre lenguaje compilado o lenguaje interpretado se basa en la necesidad particular de la aplicación a desarrollar, en algunos casos es importante la máxima optimización en la ejecución y en otros casos es más importante la optimización del tiempo de desarrollo.