Lenguaje Compilado
Enviado por mayquito • 24 de Septiembre de 2014 • 1.239 Palabras (5 Páginas) • 238 Visitas
Lenguaje de programación compilado
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.
Lenguajes
Algunos lenguajes que comúnmente se consideran compilados:
• Ada
• ALGOL
• BASIC
• C
• CLEO
• COBOL
• Cobra
• Common Lisp
• Delphi
• Eiffel
• Fortran
• Haskell
• Haxe (to bytecode)
• Java (a bytecode)
• G
• Lisp
• Lush
• Mercury
• Meta Lenguaje
Lenguaje Interpretado
Un lenguaje interpretado es aquel en el que las instrucciones se traducen o interpretan una a una en tiempo de ejecución a un lenguaje intermedio o lenguaje máquina o a través de una máquina virtual, siendo típicamente unas 10 veces más lentos que los programas compilados.(Adaptación de la definición en Wikipedia)
He mencionado los más conocidos y más usados, ahora sí vienen los lenguajes interpretados, los cuales causan tanta polémica.
BASIC El lenguaje interpretado por excelencia y hasta donde tengo conocimiento, el más antiguo, aunque no fue interpretado en sus principios, luego se convirtió en el hito de los lenguajes interpretados. Todos sus derivados son en mayor o menor grado interpretados, aunque alguna vez, Borland lanzó un BASIC que se compilaba, en teoría (nunca lo comprobé), a código máquina.
JavaScript, VBScript Aunque más interprestados que este par, creo que no existen, los menciono como para información general.
Perl, PHP Estos lenguajes diseñados para web, son lenguajes interpretados por excelencia, aunque se compilan a código intermedio en tiempo de ejecución, cosa que acelera su ejecución. Existen también herramientas que generan un código cercano a la máquina para estos dos lenguajes y cachean contenido, pero a la larga, siguen siendo interpretados.
Batch, Shell Lenguajes interpretados para los OS's, los cuales se ejecutan bastante lento, pero ya que por lo general son tan cortos o realizan tareas tan básicas no es perceptible el rendimiento.
Java Este lenguaje ha sido bastante diversificado en la actualidad, incluso, varias de las grandes aplicaciones comerciales modernas están diseñadas en este lenguaje, por ejemplo, Zend Studio y Oracle JDeveloper, solo por mencionar dos grandes.
Visual Studio .NET El Boom de los lenguajes por imposición Micro$oft. NINGÚN programa generado con los lenguajes de esta suite o como se le quiera denominar a este paquete, genera código máquina y de hecho está bastante lejos de ser código máquina, o incluso, referencias a librerías como lo harían otros lenguajes como Delphi, C++, o similares. No estoy en contra de esta nueva metodología para la interpretación de software, pero sí hay una gran desventaja, es la MUY lenta ejecución de los programas generados y en cortas palabras explico el porqué (podría hacer todo un compendio):
...