Diferencia entre revisiones de «EUPHORIA»
Contenido eliminado Contenido añadido
m BOT - Posible blanqueo de 190.19.57.79, revirtiendo hasta la edición 35135162 de CEM-bot. ¿Hubo un error? |
|||
Línea 1:
{{referencias}}
{{Ficha de lenguaje de programación
|nombre = EUPHORIA
|logo =
|paradigma = [[programación estructurada]], [[programación imperativa]]
|año = 1993
|diseñador = [[Robert Craig]]
|tipo_dato = dinámico
|implementaciones =
|dialectos =
|influido_por = [[Lenguaje de programación C|C]], [[C++]], [[BASIC]]
|ha_influido = [[Python|Py]]
}}
'''EUPHORIA''' ([[acrónimo]] del inglés: ''"'''E'''nd '''U'''ser '''P'''rogramming with '''H'''ierarchical '''O'''bjects for '''R'''obust '''I'''nterpreted '''A'''pplications"''), es un [[lenguaje interpretado|lenguaje de programación interpretado]], de [[lenguaje de alto nivel|alto nivel]], [[programación estructurada|estructurado]], [[programación imperativa|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 (informática)|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.
== Historia ==
La primera [[versión]] de EUPHORIA fue publicada en julio de [[1993]]<Ref>[http://directory.fsf.org/project/euphoria/] Free Software Directoty </Ref>, 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 <Ref>[http://www.britishgaming.co.uk/?p=536] British Gaming</Ref>. 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 (informática)|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 dato]]s y gestión de [[memoria RAM|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 [[archivo]]s 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:
<pre>
object r
r = {"A","B","C","D","E","F","G"}
</pre>
El ejemplo de arriba es lo mismo que:
<pre>
object r
r = {65,66,67,68,69,70,71}
</pre>
Como eso puede ser complicado, las secuencias pueden ser usadas de forma más simplificada:
<pre>
object r
r = "ABCDEFG"
</pre>
Tmabién puede ser declarado como:
<pre>
Sequence r
r = "ABCDEFG"
</pre>
Los números pueden ser colocados en [[hexadecimal]]:
<pre>
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
</pre>
== Referencias ==
{{listaref}}
== Enlaces externos ==
* [http://www.rapideuphoria.com EUPHORIA] Página oficial del lenguaje
* [http://www.openeuphoria.org EUPHORIA] Comunidad de usuarios
{{destacado|pt}}
[[Categoría:Lenguajes interpretados]]
[[Categoría:Acrónimos de informática]]
[[cs:Euphoria (programovací jazyk)]]
|