-
porque está cansado de tener que reinventar
el establecimiento de almacenamiento dinámico por cada programa
que escribe
-
porque ha desperdiciado demasiadas horas buscando
errores alrededor de malloc
-
porque alguna vez lo fastidió un molesto
error que aparecía y desaparecía y era provocado por
una variable no inicializada
-
porque no importa cuanto empeño ponga en
eliminarlos, siempre que algún problema de almacenamiento
-
porque está cansado que su máquina
se bloquee, o su programa se cancele sin indicación alguna
de error
-
porque sabe que la verificación
de índices le habría evitado horas de depuración
-
porque su programa no debería poder escribir
aleatoriamente áreas de memoria a través de punteros
"traviesos"
-
porque sabe lo malo que es sobrecargar la pila, pero no tiene idea
de cuán cerca está de ello
-
porque una vez tuvo un error misterioso al llamar
una función que no debía devolver valor alguno, pero
en lugar de ello devolvía basura aleatoriamente
-
porque desea que las rutinas de librería
deberían detenerse al pasar argumentos incorrectos, en lugar
de solamente de establecer "errno" o lo que sea (¿quien revisa
errno en cada llamada?)
-
porque quisiera "recompilar el mundo" en una
fracción de segundo, en lugar de tardar varios minutos -- se
trabaja mucho más rápido con un ciclo edición/ejecución
que con edición/compilación/enlazado/ejecución
-
porque la 3ra edición de El Lenguaje
de Programación C++ de Bjarne Stroustrup es un "servicio
de emergencias" demasiado denso, (y no discute temas de programación
específicos para las plataformas DOS, Windows, Linux o ninguna
otra).
-
porque ha estado programando mucho tiempo en C/C++,
pero hay muchas características misteriosas del lenguaje que
no comprende completamente
-
porque la portabilidad no es tan fácil
de realizar como se debiera
-
porque conoce el rango válido de los valores
de las variables, pero no tiene forma de forzarlos en tiempo de ejecución
-
porque le gustaría pasar un número
variable de argumentos, pero no quiere saber nada con la forma complicada
de hacerlo en C
-
porque le gustaría una forma
clara de devolver múltiples valores desde una
función
-
porque quisiera un depurador
a nivel de fuente de pantalla completa integrado que sea
tan fácil de usar que no tenga que estar consultando el manual
todo el tiempo, (o rendirse y recompilar con instrucciones printf
por doquier)
-
porque detesta cuando su programa empieza a trabajar
justo cuando agregó instrucciones de impresión para
depurarlo o lo compila con la opción de depuración
-
porque le gustaría tener un analizador
de perfiles de ejecución a nivel de instrucciones
confiable y preciso para comprender la dinámica interna de
su programa y mejorar sus prestaciones
-
porque muy pocos de sus programas tienen que exprimir
al límite cada ciclo de ejecución. La diferencia de
velocidad entre Euphoria y C/C++ no es tan grande, especialmente cuando
usa el Traductor Euphoria a C. Pruebe algunos tests de prestaciones.
Lo sorprenderemos!
-
porque no quiere invadir su disco rígido
con archivos .obj y .exe
-
porque en lugar de ejecutar su programa, ha estado
navegando entre cientos de páginas de documentación
para decidir que opciones del compilador y enlazador necesita
-
porque su versión de C/C++ tiene 57 rutinas
diferentes de establecimiento de memoria, y 67 rutinas diferentes
para manejar cadenas y bloques de memoria. ¿Cuántas
de esas rutinas necesita Euphoria? Respuesta: ninguna.
En Euphoria, el establecimiento de memoria
ocurre automáticamente y las cadenas se manejan del mismo modo
que cualquier otra secuencia.