EUPHORIA (lenguaje de programación)
EUPHORIA (acrónimo del inglés: "End User Programming with Hierarchical Objects for Robust Interpreted Applications"), es un lenguaje de programación interpretado, de alto nivel, estructurado, imperativo, y motor de juego, simultáneamente, creado por Robert Craig en 1993 como su tesis doctoral, y luego comercializado por la firma RDS (Rapid Deployment Software). Euphoria es de dominio público y de código abierto. El código fuente del intérprete Euphoria está escrito completamente en lenguaje EUPHORIA. El lenguaje posee soporte a la programación multitarea, que posibilita la ejecución de varias tareas simultáneamente, con una velocidad razonable, y puede ser útil en la creación de juegos que precisan ejecutar múltiples tareas. Es un lenguaje simple y potente, que, comparado con otros lenguajes interpretados, ofrece una bastante mayor velocidad de ejecución, principalmente en entornos de texto. Aunque no es orientado a objeto su particular flexibilidad en el manejo de datos, rendimiento y sencillez lo convierten en una opción muy atractiva para desarrollos en las plataformas más utilizadas de 32 bits. En cuanto a la programación en entornos gráficos, el intérprete ofrece una gama tal vez algo limitada de instrucciones, pero se mejora notablemente con el uso de librerías externas y con un entorno de desarrollo IDE/RAD disponible en forma gratuita. Existe un traductor gratuito de EUPHORIA a C que permite generar a partir de código EUPHORIA un programa en lenguaje C para diversos compiladores disponibles, en DOS, Windows y Linux/BSD, con lo cual su velocidad de ejecución se puede incrementar al máximo. HistoriaLa primera versión de EUPHORIA fue publicada en julio de 1993,[1] siendo un proyecto de código cerrado. A partir de la versión 3.0.0, lanzada el 19 de septiembre de 2006, pasó a ser totalmente código abierto (algunas partes del paquete ya estaban en dominio público, desde la versión 2.5 Alpha). Su última versión la 3.1.1 fue lanzada el 22 de agosto de 2007. Desarrollado inicialmente como un proyecto personal, para inventar un lenguaje de programación desde cero, Euphoria tuvo su primera versión real para un Atari ST .[2] La versión original para Atari ST, nunca fue lanzada. La primera aparición mundialmente visible del lenguaje, fue para el sistema DOS de 32 bits. Versiones actuales, además del DOS de 32 bits, soportan Microsoft Windows, Linux y FreeBSD. Los programadores involucrados en el proyecto (GNU) están actualmente trabajando para el desarrollo de versiones de 64 bits. Con el lanzamiento de la versión 2.5 Alpha, lanzada el 15 de noviembre de 2004, el intérprete de EUPHORIA, fue dividido en tres partes: un analizador sintáctico, un front-end, y un back-end, las primeras dos partes escritas en Euphoria y liberadas al dominio público y la tercera escrita en C se mantuvo secreta y solo se vendía bajo una licencia bastante restrictiva.[cita requerida] En 2008 se liberó la versión 3.0, como software libre con código fuente totalmente abierto. En el mismo año 2008 se liberaron dos versiones con ligeras modificaciones 3.1 y 3.1.1 y se empezó el desarrollo de la versión 4.0.[cita requerida] EUPHORIA, fue primeramente usado como pasatiempo[cita requerida] para programación de juegos[cita requerida] y para la creación de inteligencia artificial, mas probó ser útil para los más diversos propósitos. Ya existen programas creados usando EUPHORIA, y programas que usan EUPHORIA, como script para su programa. Un buen ejemplo, es el SDK de 3DSTATE 3D Engine, y 3D Developer Studio. CaracterísticasEUPHORIA fue desarrollado para que cumpliera con las siguientes premisas:
Tipos de archivoLos archivos de código más comunes de EUPHORIA corresponden con los siguientes tipos y extensiones:
Tipos de datosEUPHORIA tiene un tipo de dato básico:
Adicionalmente, Euphoria tiene tres tipos de dato "especializados":
Ejemplo de una secuencia: object r r = {"A","B","C","D","E","F","G"} El ejemplo de arriba es lo mismo que: object r r = {65,66,67,68,69,70,71} Donde cada elemento se reemplazó por su código ASCII. Como esto puede ser complicado, las secuencias pueden ser usadas de forma aún más simplificada: object r r = "ABCDEFG" que también puede ser declarado como: Sequence r r = "ABCDEFG" Los números pueden ser colocados en hexadecimal: object r,s,v,w,k r = #152 -- r es igual a "R" s = #FE -- s es igual a 254 en decimal v = #A000 -- v es igual a 40960 en decimal w = #FFFF00008 -- w es igual a 68718428168 en decimal k = -#10 -- k es igual a -16 en decimal ReferenciasEnlaces externos
|