Lenguaje de programación interpretado

Lenguaje de programación interpretado

Un lenguaje interpretado es un lenguaje de programación que está diseñado para ser ejecutado por medio de un intérprete, en contraste con los lenguajes compilados. Teóricamente, cualquier lenguaje puede ser compilado o ser interpretado, así que esta designación es aplicada puramente debido a la práctica de implementación común y no a alguna característica subyacente de un lenguaje en particular. Sin embargo, hay lenguajes que son diseñados para ser intrínsecamente interpretativos, por lo tanto un compilador causará una carencia de la eficacia. Muchos autores rechazan la clasificación de lenguajes de programación entre interpretados y compilados, considerando que el modo de ejecución (por medio de intérprete o de compilador) del programa escrito en el lenguaje es independiente del propio lenguaje. A ciertos lenguajes interpretados también se les conoce como lenguajes de script.

Muchos lenguajes han sido implementados usando tanto compiladores como intérpretes, incluyendo Lisp, Pascal, C, BASIC, y Python. Mientras que Java es traducido a una forma que se destina a ser interpretada, la compilación justo a tiempo es frecuentemente usada para generar el código de máquina. Los lenguajes de Microsoft .NET compilan a una forma intermedia (CIL) la cual es entonces a menudo compilada en código de máquina nativo; sin embargo hay una máquina virtual capaz de interpretar el CIL. Muchas implementaciones Lisp pueden mezclar libremente código interpretado y compilado. Estas implementaciones también usan un compilador que puede traducir arbitrariamente código fuente en tiempo de ejecución (runtime) a código de máquina.

Contenido

Antecedentes históricos del interpretado y compilado

En los comienzos de la computación, el diseño del lenguaje fue fuertemente influenciado por la decisión de usar como modo de ejecución, la compilación o la interpretación. Por ejemplo, algunos lenguajes compilados requieren que los programas deban indicar explícitamente el tipo de dato de una variable en el momento en que sea declarada o al ser usada por primera vez. Por otro lado, algunos lenguajes interpretados toman ventaja de los aspectos dinámicos de la interpretación para hacer tales declaraciones innecesarias. Por ejemplo, Smalltalk, el cual fue diseñado para ser interpretado en tiempo de ejecución, permite a objetos genéricos interactuar dinámicamente entre sí.

Inicialmente, los lenguajes interpretados eran compilados línea por línea; es decir, cada línea era compilada a medida que estaba a punto de ser ejecutada, y si un loop o una subrutina hiciera que ciertas líneas se ejecutaran múltiples veces, ellas debían ser recompiladas repetidamente. Esto ha llegado a ser mucho menos común. La mayoría de los lenguajes interpretados usan una representación intermedia, que combina tanto la compilación como la interpretación. En este caso, un compilador puede producir una cierta forma de representación intermedia del programa, como el bytecode o el código enhebrado, que entonces es ejecutado por un intérprete de bytecode. Los ejemplos incluyen Python, y Java. Similarmente, Ruby utiliza un árbol de sintaxis abstracta como representación intermedia. La representación intermedia puede ser compilada de una vez por todas (como en Java), cada vez que se vaya a ejecutar (como en Perl o Ruby), o cada vez que un cambio en el código fuente es detectado antes de la ejecución (como en Python).

Ventajas de los lenguajes interpretados

Los lenguajes interpretados dan a los programas cierta flexibilidad adicional sobre los lenguajes compilados. Algunas características que son más fáciles de implementar en intérpretes que en compiladores incluyen, pero no se limitan, a:

Desventajas de los lenguajes interpretados

La ejecución del programa por medio de un intérprete es usualmente mucho menos eficiente que la ejecución de un programa compilado. No es eficiente en tiempo porque, o cada instrucción debe pasar por una interpretación en tiempo de ejecución, o como en más recientes implementaciones, el código tiene que ser compilado a una representación intermedia antes de cada ejecución. La máquina virtual es una solución parcial al problema de la eficiencia del tiempo pues la definición del lenguaje intermedio es mucha más cercana al lenguaje de máquina y por lo tanto más fácil de ser traducida en tiempo de ejecución. Otra desventaja es la necesidad de un intérprete en la máquina local para poder hacer la ejecución posible.

Lenguajes interpretados de uso común

Los lenguajes que suelen ser interpretados más famosos en la actualidad son (en orden alfabético):

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Lenguaje de programación Python — Python es un lenguaje de programación interpretado e interactivo, capaz de ejecutarse en una gran cantidad de plataformas. Fue creado por Guido van Rossum en 1990 …   Enciclopedia Universal

  • Lenguaje de programación Java — Saltar a navegación, búsqueda Java Paradigma: Orientado a objetos Apareció en: 1991 Diseñado por: Sun Microsystems Tipo de dato: Fuerte, Estático Implementacion …   Wikipedia Español

  • Lenguaje de programación Limbo — Saltar a navegación, búsqueda Limbo Paradigma: Concurrente Apareció en: 1995 Diseñado por: Sean Dorward, Phil Winterbottom, and Rob Pike Desarrollador: Bell Labs/Vita Nuova …   Wikipedia Español

  • Lenguaje de programación Gemix — Saltar a navegación, búsqueda Gemix es uno de los lenguajes de programación que podemos encontrar en la suite de creación de videojuegos Gemix Studio. El lenguaje, al igual que el propio producto en general, se encuentra en desarrollo. Se podría… …   Wikipedia Español

  • Lenguaje de programación Ruby — Ruby es un lenguaje de scripts para una programación orientada a objetos rápida y sencilla. Fue creado en Japón en el año 1993 por Yukihiro Matsumoto. Lenguaje de guiones interpretado: ● Posibilidad de realizar directamente llamadas al sistema… …   Enciclopedia Universal

  • Falcon (lenguaje de programación) — Saltar a navegación, búsqueda Falcon es un open source lenguaje de programación interpretado multi paradigma diseñado por Giancarlo Niccolai. Se basa en una máquina virtual de propiedad y está disponible para las plataformas Windows, Linux, Mac,… …   Wikipedia Español

  • Java (lenguaje de programación) — Este artículo o sección se encuentra desactualizado. Es posible que la información suministrada aquí haya cambiado o sea insuficiente …   Wikipedia Español

  • Limbo (lenguaje de programación) — Limbo Desarrollador(es) Bell Labs/Vita Nuova Información general Paradigma Concurrente Apareció en 1995 …   Wikipedia Español

  • Magik (lenguaje de programación) — Magik es un lenguaje de programación orientada a objetos que soporta herencia múltiple, polimorfismo y cuyos tipos de datos son dinámicos. GE Energy lo proporciona como parte de la plataforma Smallworld y fue diseñado en un principio para… …   Wikipedia Español

  • Lenguaje interpretado JAWS — Saltar a navegación, búsqueda Lenguaje Interpretado JAWS (JAWS Scripting Language, JSL) es un lenguaje de programación privado que facilita la interoperabilidad del programa de lectura de pantalla de JAWS para Windows con prácticamente cualquier… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”