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