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.
Historia:
La primera versión de EUPHORIA fue publicada en julio de 1993, 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 . 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.
Características:
Euphoria fue desarrollado para que cumpliera con las siguientes premisas:- Simplicidad: facilidad para su aprendizaje y uso rápidos.
- Poder: capacidades de programación en bajo nivel necesarias para acceder a rutinas del sistema operativo, memoria RAM, dispositivos, puertos y BIOS. Enlace simple con rutinas C.
- Seguridad: extenso soporte de depuración, chequeo de tipo de datos y gestión de memoria automática.
- Flexibilidad: soporte para tipos implícitos sencillos, potentes, dinámicos y también otros definidos por el usuario.
- Velocidad: velocidad suficiente para rivalizar con los lenguajes compilados puros.
- Eficiencia: desarrollo rápido de aplicaciones eficientes y robustas, con muy escaso consumo de recursos hardware.
- Gestión de Memoria: Gestión automática de memoria virtual, independientemente del sistema operativo.
Euphoria tiene un tipo de dato básico:
- object: Un tipo de dato genérico que puede contener cualquier tipo de elemento, y puede ser cambiado durante la ejecución. Eso significa que si el programador tiene un objeto llamado X que posee el valor 3.172, después el programador puede darle a X el valor "ABC".
- atom: números implementados como enteros o fracionários de 32 bit o 64 bit, dependiendo del valor actual. Almacena los valores enteros en 4 bytes.
- integer: una forma especial de atom, restricta a valores enteros de 31 bits. Ese tipo de dato es más eficiente que el atom, pero no puede contener la misma extensión. Los caracteres son almacenados como enteros.
- sequence: Vector que puede contener cero o más elementos; cada elemento es un objeto. La cantidad de elementos a contener no es fija; el codificador puede agregar o quitar elementos cuando es requerido durante la ejecución.
No hay comentarios:
Publicar un comentario