EUPHORIA

EUPHORIA


EUPHORIA
Paradigma: programación estructurada, programación imperativa
Apareció en: 1993
Diseñado por: Robert Craig
Tipo de dato: dinámico
Influido por: C, C++, BASIC
Ha influido a: Py

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.

Contenido

Historia

La 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 version 3.0, como software libre con codigo 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í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.

Tipos de archivo

Los archivos de código más comunes de EUPHORIA corresponden con los siguientes tipos y extensiones:

  • .E (Biblioteca DOS - texto)
  • .EU (Biblioteca Linux/FreeBSD - texto)
  • .EW (Biblioteca Windows - texto)
  • .EX (Ejecutable con Intérprete externo DOS32 - texto)
  • .EXU (Ejecutable con Intérprete externo Linux/FreeBSD - texto)
  • .EXW (Ejecutable con Intérprete externo Windows32 - texto)
  • .IL (Programa multiplataforma - binario)
  • .EXE (Ejecutable que incluye un pequeño intérprete - binario)
  • .PRJ (Proyecto armado mediante la IDE EUPHORIA - texto)

Tipos de datos

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".

Adicionalmente, Euphoria tiene tres tipos de dato "especializados":

  • atom: números implementados como enteros o fracionários de 32 bit o 64 bit, dependiendo del valor actual. Almacena los valores enteiros en 4 bytes.
  • interger: umna forma especial de atom, restricta a valores enteros de 31 bits. Ese tipo de dato es más eficiente que el atom, mas 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. El número de elementos en una secuencia no es fija; el codificador puede adicionar o remover elementos cuando es requerido durante la ejecución.

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}

Como eso puede ser complicado, las secuencias pueden ser usadas de forma más simplificada:

object r
r = "ABCDEFG"

Tmabié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
v = #A000      -- v es igual a 40960
w = #FFFF00008 -- w es igual a 68718428168
k = -#10       -- k es igual a -16

Referencias

  1. [1] Free Software Directoty
  2. [2] British Gaming

Enlaces externos

Obtenido de "EUPHORIA"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Euphoria — or euphoric may refer to: * Euphoria (emotion), a state of very intense happiness and feelings of well being * 4 Methyl aminorex (commonly known as Euphoria or U4EA ), a stimulant drug with effects comparable to methamphetamine. Note: Euphoria is …   Wikipedia

  • Euphoria — Euphoria: Euphoria (альбом)  альбом Энрике Иглесиаса. Euphoria (анимация)  компьютерная программа для создания процедурной анимации. Euphoria (язык программирования)  интерпретируемый процедурный язык программирования. Euphoria… …   Википедия

  • Euphoria — Saltar a navegación, búsqueda Euphoria puede referirse a: EUPHORIA, un lenguaje de computadoras. Euphoria, un sinónimo para el género botánico Litchi. Véase también Euforia Obtenido de Euphoria Categoría: Wikipedia:Desambiguación …   Wikipedia Español

  • euphoria — adj. a strong pleasant feeling of well being or happiness; it is often caused by attainment of a desired goal or other incident of accomplishment, but may irrationally accompany a pathological manic state. Syn: elation, high. [PJC] …   The Collaborative International Dictionary of English

  • euphoria — 1727, a physician s term for condition of feeling healthy and comfortable (especially when sick), medical Latin, from Gk. euphoria power of enduring easily, from euphoros, lit. bearing well, from eu well (see EU (Cf. eu )) + pherein to carry (see …   Etymology dictionary

  • Euphorĭa — (E. Commers.), Pflanzengattung aus der Familie der Sapindaceae Sapindeae, 8. Kl. 1. Ordn. L., von Anderen zu Nephelium. L. gezogen; Arten: E. litchi, Baum in China u. Cochinchina, wegen seiner herzförmigen, wohlschmeckenden Früchte cultivirt; E.… …   Pierer's Universal-Lexikon

  • euphoria — [n] extreme happiness bliss, dreamland, ecstasy, elation, exaltation, exhilaration, exultation, frenzy, glee, health, high spirits, intoxication, joy, joyousness, jubilation, madness, rapture, relaxation, transport; concept 410 Ant. depression,… …   New thesaurus

  • euphoria — ► NOUN ▪ a feeling of intense happiness. DERIVATIVES euphoric adjective euphorically adverb. ORIGIN Greek, from euphoros borne well, healthy …   English terms dictionary

  • euphoria — [yo͞o fôr′ē ə] n. [ModL < Gr, power of bearing easily < euphoros, bearing well < eu (see EU ) + pherein, BEAR1] a feeling of vigor, well being, or high spirits euphoric [yo͞ofôr′ik] adj …   English World dictionary

  • Euphoria — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Euphoria », sur le Wiktionnaire (dictionnaire universel) Euphoria signifie « euphorie » en… …   Wikipédia en Français

Compartir el artículo y extractos

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

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.