¿Qué es un lenguaje compilado?
Un lenguaje compilado es un lenguaje de programación de computadora cuyo código fuente generalmente se compila o traduce al código de máquina para producir un programa ejecutable. Los compiladores son programas de utilidad creados para traducir una implementación específica de un lenguaje de programación en un archivo binario ejecutable que está diseñado para ejecutarse en un determinado sistema operativo. Este archivo ejecutable independiente se puede ejecutar en cualquier plataforma compatible sin la ayuda de otro programa y sin la necesidad de volver a compilarlo. Algunos lenguajes compilados comunes son Ada, C ++ y Fortran.
Los programas de computadora también se pueden escribir en un lenguaje interpretado o en un lenguaje de secuencias de comandos. La decisión de implementar un proyecto en un lenguaje compilado generalmente está relacionada con la velocidad de ejecución mucho mayor de sus programas. Se ve que una mayor velocidad compensa lo que generalmente es un proceso de desarrollo y mantenimiento más complejo. Los sistemas operativos y las utilidades que necesitan acceso directo al hardware a menudo requieren la eficiencia de un lenguaje compilado.
Los lenguajes interpretados deben ser analizados, traducidos y ejecutados por una utilidad de intérprete cada vez que se ejecuta el programa. Si el intérprete no reside en una computadora, entonces el programa no se puede ejecutar. En un lenguaje compilado, este análisis y traducción que requieren mucho tiempo se llevan a cabo una vez en tiempo de compilación y el ejecutable no necesita ningún programa de utilidad para ejecutarse. Cuando la velocidad o la necesidad de acceso de hardware de bajo nivel no es un factor, la relativa facilidad con la que se puede implementar un programa interpretado podría convertirlo en una opción atractiva.
Los lenguajes de secuencias de comandos a menudo se implementan para brindar a los usuarios un mayor control sobre los programas de lenguaje compilados o para proporcionar una funcionalidad adicional. Este tipo de lenguaje también debe interpretarse en tiempo de ejecución. El uso más familiar del lenguaje de secuencias de comandos es en las páginas web de Internet, donde el navegador actúa como intérprete de secuencias de comandos. Sin embargo, estos lenguajes han existido desde la época de las primeras computadoras mainframe para automatizar procesos simples.
Al desarrollar un proyecto de software, a menudo hay que elegir entre el uso eficiente de los recursos informáticos y el costo del tiempo de desarrollo. Esto puede conducir a una mezcla de lenguaje compilado y lenguaje interpretado o de secuencias de comandos dentro de un proyecto en particular. Los elementos críticos de tiempo y recursos de un programa generalmente están mejor codificados en un lenguaje compilado. Las interfaces y elementos con menos requisitos de recursos podrían desarrollarse más económicamente en un lenguaje interpretado. Incluso los elementos que eventualmente se implementarán en un lenguaje compilado podrían ser prototipados de manera más rentable como un programa de lenguaje interpretado.