Lenguaje de programación compilado

De Wikipedia, la enciclopedia libre
(Redirigido desde «Lenguaje compilado»)
Saltar a: navegación, búsqueda

Un lenguaje compilado es un lenguaje de programación cuyas implementaciones son normalmente compiladas (traductores que generan código de máquina a partir de código fuente), es decir, una vez escrito el programa, éste se traduce a partir de su código fuente por medio de un compilador en un archivo ejecutable para una determinada plataforma,[nota 1] y no los intérpretes (ejecutores paso a paso de código fuente, donde no se lleva a cabo una traducción de pre-ejecución).

El término es un tanto vago, en principio, cualquier lenguaje puede ser implementado con un compilador o un intérprete. Sin embargo, es cada vez más frecuente una combinación de ambas soluciones: un compilador puede traducir el código fuente en alguna forma intermedia (muchas veces llamado código de bytes), que luego se pasa a un intérprete que lo ejecuta.

Es teóricamente posible escribir un compilador o un intérprete para cualquier lenguaje, sin embargo en algunos lenguajes una u otra implementación es más sencilla porque se diseñaron con una implementación en particular en mente.

Algunos entornos de programación incluyen los dos mecanismos, primero el código fuente se traduce a un código intermedio que luego se interpreta en una máquina virtual, pero que también puede compilarse justo antes de ejecutarse. La máquina virtual y los compiladores Just in Time de Java son un ejemplo de ello.

Ventajas y desventajas[editar]

Los programas compilados a código nativo en tiempo de compilación tienden a ser más rápidos que los traducidos en tiempo de ejecución, debido a la sobrecarga del proceso de traducción. Sin embargo, las nuevas tecnologías como la compilación Just-in-time, y mejoras generales en el proceso de traducción están empezando a reducir esta brecha. En algún punto intermedio, tiende a tener eficiente la solución mixta usando bytecode.

Los lenguajes de programación de bajo nivel son típicamente compilados, en especial cuando la eficiencia es la principal preocupación, en lugar de soporte de plataformas cruzadas. Para los lenguajes de bajo nivel, hay más correspondencias uno a uno entre el código programado y las operaciones de hardware realizadas por el código máquina, lo que hace que sea más fácil para los programadores para controlar la CPU y uso de memoria en los detalles finos.

Con un poco de esfuerzo siempre es posible escribir compiladores incluso para las lenguajes tradicionalmente interpretados. Por ejemplo, Common Lisp puede ser compilado a Java bytecode, que es interpretado por la máquina virtual de Java, código C, que se compila a código máquina nativo, o es compilado directamente a código nativo. Los lenguajes de programación que soportan múltiples objetivos de compilación ofrecen un mayor control para el desarrollador elija la velocidad de ejecución o la compatibilidad entre plataformas.

Lenguajes[editar]

Algunos lenguajes que comúnmente se consideran compilados:

Herramientas[editar]

Nota[editar]

  1. Por ejemplo Solaris para Sparc, Windows NT para Intel, etc.).

Véase también[editar]

Enlaces externos[editar]