Diferencia entre revisiones de «EUPHORIA»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
AVBOT (discusión · contribs.)
m BOT - Posible blanqueo de 190.19.57.79, revirtiendo hasta la edición 35135162 de CEM-bot. ¿Hubo un error?
m Revertido a la revisión 31884002 hecha por LucienBOT. (TW)
Línea 1: Línea 1:
{{referencias}}
[[Archivo:logoblanco.jpg]]

{{Ficha de artista musical
| Nombre = e u p h o r i a
| Imagen = euphoria_the_band.jpg
| Fondo = grupo_o_banda
| Origen = [[Valladolid]], [[España]]
| Estilo = [[Post-Rock]]<br />[[Metal]]
| Tiempo = [[2003]] – presente
| Discográfica = [[Art De Troya / Independient Trade Union]]
| URL = [http://www.euphoriaweb.es www.euphoriaweb.es]
| Miembros = [[Abel Martínez]]<br />[[David Zarain]] <br />[[Pablo Fernández]]


{{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:
BIOGRAFÍA


<pre>
Formados en 2003 en Valladolid, e u p h o r i a ha editado hasta la fecha dos discos. "Euphoria" (2007) álbum debut de homónimo nombre lanzado bajo el mítico y extinto sello madrileño "Inferno Records", grabado en los Estudios Uno de Cine Arte, producido por Pablo Iglesias (B-Violet, Kannon, Hora Zulu, José Merce, Lagartija Nick, Piratas....) y masterizado en Masterdisk (NY) por Andy Vandette (Smashing Pumkins, Tool, David Bowie, Porcupine Tree). Este primer L.P. fue una revelación dentro del panorama rock nacional, recibiendo notables críticas por parte de la prensa especializada como Mondosonoro, Rock Zone, Kerrang, Radio 3, etc. y logrando formar una importante base de fans a su alrededor como atestiguan las más de 2.000 copias vendidas, más de 100.000 visitas entre myspace y web oficial, o las más de 18.000 descargas on-line de su trabajo, todo esto logrado gracias al boca a boca y a una extensa gira que los llevó por las principales capitales españolas y diferentes festivales de la península.
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:
Tras un año dedicado a la creación, e u p h o r i a vuelve a meterse en estudio a finales de 2009 para grabar su segunda referencia, de título "Culto al deseo" (2010), esta vez bajo un nuevo sello "Art De Troya / Independient Trade Union", y haciendo gala de una evolución imparable, e u p h o r i a David P. Zaraín (guitarra), Pablo Fernández (voz y bajo) y Abel Martínez (batería) firman un álbum que ahonda en el post rock, metal, y psicodelia dando pie a lo que posiblemente sea uno de los discos más frescos e impactantes de 2010.


<pre>
Grabado en "Neo MusicBox estudio", mezclado y producido por Raúl de Lara (Second, In Keys, Korea, Vértigo) y masterizado de nuevo en Masterdisk (NY) esta vez por el prestigioso Howie Weinberg (Red Hot Chilli Peppers, Smashing Pumpkins, Pantera, Deftones, Nirvana, The cure, Sonic Youth, Jeff Buckley, U2...), "Culto al deseo" será con total seguridad la confirmación de una de las bandas más prometedores del país.
object r
r = "ABCDEFG"
</pre>


Tmabién puede ser declarado como:
Para más información puedes dirigirte a su página web [http://www.euphoriaweb.es www.euphoriaweb.es]. Allí encontrarás todas las novedades e información (Fotos, críticas, fechas de conciertos, etc.)


<pre>
Sequence r


r = "ABCDEFG"
</pre>


Los números pueden ser colocados en [[hexadecimal]]:
----


<pre>
DISCOGRAFÍA
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 ==
culto al deseo (2010)
{{listaref}}


== Enlaces externos ==
[[Archivo:culto_al_deseo.jpg]]
* [http://www.rapideuphoria.com EUPHORIA] Página oficial del lenguaje
Grabado y mezclado por Raúl de Lara en NeoMusicBox, Aranda de Duero.
Producido por Raúl de Lara & euphoria.
Masterizado por Howie Weinberg en Masterdisk, New York.
Art De Troya / Independient Trade Union.


* [http://www.openeuphoria.org EUPHORIA] Comunidad de usuarios


{{destacado|pt}}
euphoria (2007)


[[Categoría:Lenguajes interpretados]]
[[Archivo:euphoria_2007.jpg]]
[[Categoría:Acrónimos de informática]]
Grabado y mezclado por Pablo Iglesias en Estudio Uno, Madrid.
Producido por Pablo Iglesias.
Masterizado por Andy Vandette en Masterdisk, New York.
Inferno Records.


[[cs:Euphoria (programovací jazyk)]]
[[cs:Euphoria (programovací jazyk)]]

Revisión del 23:18 17 mar 2010

EUPHORIA
?
Información general
Paradigma programación estructurada, programación imperativa
Apareció en 1993
Diseñado por Robert Craig
Sistema de tipos 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.

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