¿Esta es la última versión de Euphoria?
Visite:  http://www.RapidEuphoria.com
      
Para instalar o desinstalar Euphoria, lea install.htm
      
¿Qué es lo nuevo de esta versión?
Lea relnotes.htm 



Lenguaje de Programación Euphoria
versión 2.4
Lanzamiento oficial
3 de Julio de 2003


Bienvenido a Euphoria! 
End User Programming with Hierarchical Objects for Robust Interpreted Applications

(Programación del usuario final con objetos jerarquicos, para aplicaciones interpretadas robustas) 

Euphoria recorrió un largo camino desde que la versión 1.0 se lanzó en julio de 1993. Hay más de mil usuarios registrados, ubicados en 61 países alrededor del mundo, tanto como muchos miles más no registrados. Existe un grupo de noticias de Euphoria, alt.lang.euphoria, así como una lista de correo automatizada con más de 400 usuarios suscriptos. El sitio web de Euphoria contiene más de 1100 archivos .zip de contribución, empacados con rutinas de librería y archivos fuente de Euphoria. Decenas de personas tienen sus propios sitios web independientes con contenido relacionado a Euphoria. Se usó Euphoria en una gran variedad de programas comerciales. La versión Windows se usó para crear numerosas interfaces gráficas de usuario, utilidades y programas relacionados con Internet. La versión DOS se usó para crear muchos excitantes juegos de acción de alta velocidad, con soporte completo de efectos sonoros de Sound Blaster. Las versiones Linux y FreeBSD se usaron para escribir programas para la interfaz X Windows, CGI y muchas herramientas y utilitarios. 
 

¿Otro lenguaje de programación?

Euphoria es un lenguaje de muy alto nivel, con varias características que lo destacan de los demás: 

  • Los programas Euphoria corren en Windows, DOS, Linux, y FreeBSD
  • El lenguaje es flexible, poderoso y fácil de aprender. 
  • No hay que esperar a compilar y enlazar - sólo editar y ejecutar. 
  • Se pueden crear y distribuir archivos ejecutables_independientes.exe, sin tener que pagar regalías. 
  • La asignación dinámica de memoria es fundamental para Euphoria. Las variables crecen o decrecen en tamaño sin que el programador tenga que preocuparse de reservar o liberar espacios de memoria. Los elementos de un array (secuencia en Euphoria) pueden tener una mezcla de distintos tipos y tamaños de datos. Euphoria provee una amplia verificación de errores en tiempo de ejecución para: índices fuera de rango, variables no inicializadas, parámetros erróneos para rutinas de librería, asignación de valores ilegales a las variables, y mucho más. Si algo no está bien, obtendrá un completo mensaje de error, con las llamadas de la pila y un listado de los valores de las variables. Con otros lenguajes, típicamente ocurre una falla de protección y obtiene un incomprensible volvado de datos de registros de la máquina y direcciones. El intérprete Euphoria es más de 30 veces más rápido que el de Perl o Python, y es considerablemente más veloz que cualquier otro lenguaje interpretado, de acuerdo a la prueba "Great Computer Language Shootout" (ver demo\bench\bench.doc). Y si no es suficiente, existe el Traductor Euphoria a C que acelera la velocidad aún más. ¿Por qué perder tiempo depurando código C/C++, cuando los programas Euphoria son mucho más sencillos de desarrollar? Los programas Euphoria no están limitados por restricciones de memoria de 640K o 64K, por las cuales el MS-DOS es tristemente famoso. Las versiones DOS32, WIN32, Linux y FreeBSD de Euphoria le permiten usar la totalidad de la memoria instalada en su máquina y, en caso de no alcanzarle, un archivo de intercambio le proveerá una memoria virtual adicional. 
  • Se incluye un depurador/trazador a nivel de fuente de pantalla completa integrado y fácil de usar. 
  • También están disponibles un analizador de perfiles por conteo de ejecución, y otro por tiempo
  • Hay una gran cantidad de excelentes programas y librerías de terceras partes, la mayoría incluyendo todo su código fuente, que crece día a día. RDS desarrolló un sistema de base de datos extremadamente flexible (EDS) que corre por igual en todas las plataformas Euphoria. La implementación WIN32 de Euphoria puede acceder a cualquier rutina API de WIN32 API, como también a rutinas de C o Euphoria en archivos .dll. Un equipo de gente desarrolló una librería de interfaz gráfica del usuario para Windows (Win32Lib) completa con un Entorno Interactivo de Desarrollo (IDE). Puede diseñar gráficamente una interfaz de usuario, especificar las sentencias Euphoria que se ejecutarán cuando alguien haga click, y el IDE creará en su lugar, un programa Euphoria completo. Hay librerías de Euphoria Windows para acceso a Internet, juegos 3D, y muchas otras áreas de aplicación. La implementación DOS32 de Euphoria en MS-DOS contiene librerías gráficas propias. Si es necesario, puede acceder a las interrupciones por software de DOS. Puede llamar a rutinas en código de máquina. Inclusive, puede hacer sus propios manejadores de interrupciones de hardware. En Euphoria se desarrollaron completamente muchos juegos de acción de alta velocidad, con efectos de sonido Sound Blaster, sin necesidad de recurrir al código de máquina.Las implementaciones de Euphoria para Linux y FreeBSD le permiten acceder a rutinas y variables de C en librerías compartidas, para tareas que van desde los gráficos, hasta la programación de la interfaz gráfica de usuario de X windows, pasando por la programación CGI para Internet. La buena noticia es que estará programando en Euphoria, no en C.Euphoria está escrito en C. El código fuente está disponible por sólo u$s 49. Puede mejorarlo, entregar sus mejoras a RDS, o inclusive vender su versión binaria mejorada. Lea Licencia del código fuente


¿Quienes se benefician usando Euphoria? 
novatos / estudiantes - Euphoria es uno de los lenguajes más simples y fáciles de aprender.
hobbistas - Visite nuestro sitio web site y encontrará una extensa variedad de interesantes juegos y programas. La mayoría ha sido escrita por otros hobbistas. Casi todos los programas Euphoria son de fuente abierta, por lo que puede aprender mucho echándoles un vistazo.
profesionales - Puede desarrollar programas confiables, completamente depurables y de fácil mantenimiento en mucho menos tiempo en Euphoria que en C/C++.
- Euphoria es ideal para el desarrollo rápido y fácil de filtros de archivos y otras utilidades.
- Puede desarrollar programas de Internet y de interfaz gráfica, sin necesitar hacer un curso de 6 semanas.
- Puede distribuir sus programas Euphoria como archivos .exe, sin tener que pagar regalías.
- Puede obtener una copia de los archivos fuente del intérprete Euphoria. Esté seguro que sus aplicaciones Euphoria serán mantenidas indefinidamente, pudiendo modificar el intérprete para ajustarlo a sus necesidades.
- Hace 10 años que RDS está en el mercado, y hay cientos de personas en la lista de correo de Euphoria, lo que le representa una fuente de soporte técnico asegurada.

Plataformas y ediciones

Euphoria corre en cuatro plataformas diferentes, WIN32, DOS32, Linux, y FreeBSD. El paquete principal es el Intérprete Euphoria. También existe el Traductor Euphoria a C en nuestro sitio web, que consta de unos pocos archivos adicionales. 

El paquete del Intérprete Euphoria viene en dos ediciones diferentes: una es la Edición de Dominio Público y la otra es la Edición Completa. La Edición Completa (registrada) tiene estas características adicionales:

    Puede enmascarar (encriptar) y enlazar cualquier programa Euphoria con el Intérprete Euphoria para crear archivos únicos, independientes, inviolables .exe de fácil distribución. (Ver bind.doc) Puede analizar los perfiles de cualquier programa Euphoria para determinar los "puntos calientes" del rendimiento y encontrar errores lógicos. Se proveen tanto el análisis de perfiles por conteo de ejecución, como por tiempo (solo DOS32). Puede usar la utilidad trazadora (depurador interactivo de pantalla completa) para depurar programas de cualquier tamaño. La Edición de Dominio Público también provee trazado, solo que limitado a programas de hasta 300 sentencias (las líneas en blanco y los comentarios no se cuentan como sentencias). Con ambas Ediciones toda vez que tenga un error en tiempo de ejecución, obtendrá siempre un informe completo de errores, con los valores de las variables y de la pila de llamadas.
Queremos que disfrute escribiendo algunos buenos programas en Euphoria. Luego, cuando decida que quiere el lenguaje y desea sacar ventaja de las características mejoradas de la Edición Completa, esperamos que lo registre. La registración del paquete Intérprete cuesta solamente u$s 29 (DOS32+WIN32+Linux+FreeBSD), y puede reducir o aún eliminar este costo, contribuyendo con código útil para nuestro sitio web. Lea register\register.doc para más información. 

También existe una versión gratuita del Traductor Euphoria a C que puede descargar de nuestro sitio web. La versión completa del Traductor Euphoria a C cuesta solamente u$s 29. Vea el paquete Traductor en nuestro sitio web para más información. 

La documentación contenida en este paquete viene tanto en formato de texto plano, como en formato HTML. Los archivos de texto plano (.doc) se pueden ver en cualquier editor de texto, tal como el Bloc de Notas de Windows o el WordPad. Los archivos HTML (.htm) los puede ver en su navegador de internet. Una herramienta que desarrollamos en Euphoria, nos permite generar automáticamente tanto el texto plano, como los archivos HTML, partiendo de una fuente común. Así, el contenido de cada archivo del subdirectorio doc es idéntico al contenido del archivo correspondiente en el subdirectorio html, sin contar la falta de vínculos, fuentes y colores. Lea doc\overview.doc (o html\overview.htm) un resumen de los archivos de documentación.

Puede distribuir libremente la Edición de Dominio Público, entera o en parte, por lo tanto cualquiera puede correr un programa Euphoria que Ud haya desarrollado. Tiene completa libertad para distribuir cualquier programa Euphoria que escriba, libre de regalías, aún si no ha registrado el producto. 

Para correr la versión WIN32 de Euphoria, necesitará Windows 95, o cualquier otra versión posterior. En Windows XP corre muy bien. 

La versión DOS32 correrá bajo cualquier versión de Windows y en DOS con cualquier procesador 386 o superior. Contrariamente a la opinión popular, el DOS no ha muerto. Puede ejecutar programas Euphoria DOS en la ventana del símbolo del sistema bajo Windows XP. 

Para correr la versión Linux de Euphoria, necesitará una distribución Linux razonablemente al día, que tenga libc6 o posterior, además de ncurses. Por ejemplo en Red Hat 5.2 o superior correrá muy bien. 

Para correr la versión FreeBSD de Euphoria, necesitará una distribución FreeBSD razonablemente al día, que tenga ncurses. 
 

Primeros pasos
1. Después de instalar Euphoria, los archivos de documentación estarán en los directorios doc y html. overview.doc le da una introducción a la documentación. Debería leer primero refman.htm (o refman.doc). Si quiere buscar más información de algún tópico, escriba guru
2. Diviértase corriendo los programas del directorio demo. Modifíquelos libremente, o ejecútelos en el modo trazado agregando:
        with trace
        trace(1)
en las dos primeras líneas del archivo .ex o .exw
3. Pruebe escribiendo algunas sentencias simples y ejecutándolas. Puede usar cualquier editor de texto. Más tarde podría usar ed, el editor de Euphoria, o descargar el editor Euphoria de David Cuny desde el sitio web de Euphoria. No tema de probar cosas, Euphoria no lo morderá! 
4. Lea más ideas en what2do.doc
5. Visite el sitio web de Euphoria, descargue algunos archivos y suscríbase a la lista de correo de Euphoria. 

Si es novato en programación y encuentra que refman.htm es difícil de seguir, descargue el tutorial interctivo de David Gay llamado "A Beginner's Guide To Euphoria", que está en la sección Documentación de nuestro Archivo
 

Si al instalar tiene algún problema, lea install.htm


Aviso a los Vendedores de Shareware: 
 
Lo animamos a que distribuya esta edición de Dominio Público de Euphoria. Puede cobrar lo que guste por él. La gente puede utilizar Euphoria tanto como guste sin obligación. Hacemos dinero con aquellos que comienzan a desarrollar seriamente aplicaciones, y quieren soporte técnico y ayuda en el trazado, análisis de perfiles y enlazado de programas grandes.

RENUNCIA: 
Las Ediciones de Dominio Público y la Completa de Euphoria se proveen "como son" sin garantía de ninguna clase. En ningún caso Rapid Deployment Software será hecho responsable por cualquier daño originado en el uso, o incapacidad para usar, este producto.