Qué es Taronja ?



Taronja permite programar de un modo elegante gracias a sus macros.

Se trata de una librería para C++, que abstrae parte del proceso de la creación y gestión de objetos mediante macros.

Entre sus características podemos encontrar que gestiona automáticamente los objetos, decidiendo cuando destruirlos y liberar memoria, y pudiendo proporcionar una gran cantidad de información que nos ayude con la depuración del código.

Taronja es un librería multiplataforma, por lo que con un mismo código fuente lo podemos compilar tanto en Windows como en Linux, o FreeBSD por ejemplo, obteniendo como resultado un ejecutable con la misma funcionalidad.

Taronja ofrece una potente librería gráfica orientada a eventos con la que es fácil crear objetos gráficos.

Taronja cuenta además con un sistema llamado CIO para acceder a archivos que permite una abstracción, pudiendo ser el CIO un archivo, una parte de la memoria, la salida de un programa, o los datos recibidos a través de un Socket.

Además como utilidad y a modo de ejemplo, viene conjuntamente con una librería de objetos gráficos tales como botones, cajas de edición, y ventanas.

Un poco de História ...

Taronja es la fusión de las anteriormente conocidas como NUCLEOL (DSiG_Core) y SWL2 (o DSGL2)



Inicialmente la librería Core fue diseñada como una librería para gestionar de forma automáticamente los objetos, liberando al programador de la destrucción de estos, pues la librería debía gestionar los susodichos objetos, al tiempo que pudiese ofrecer información de los mismos al programador, y facilitar loa depuración mediante un seguimiento de la creación y destrucción de los mismos.

Con el tiempo esta librería fue implementada de muy diversos modos, utilizando distintos estilos y modelos, finalmente resultando en algo parecido al modelo que usa Taronja actualmente. Con la ganancia de estabilidad se fueron creando ciertos objetos de utilidad general que hacían uso de esta librería, como cadenas de Texto o comparadores para ordenar listas que posteriormente fueron añadidos directamente en la librería.

Aproximadamente por las fechas en que Core, parecía suficientemente estable (infeliz de mi), y tras mi primer experimento con gráficos bajo X-Windows con la SWL (DSiGLib), empecé el desarrollo de una librería gráfica orientada a objetos, sin más pretensión que la de poder mostrar ventanas y dibujar sobre ellas para realizar presentaciones gráficas.

La librería en cuestión debía ser al sucesora de la SWL, es pero en esta ocasión hecha en C++, y orientada a objetos, al tiempo que debía tener un mayor rendimiento, y la pretensión de funcionar también bajo win32, siendo así la primera vez que me disponía a programar usando directamente el API de Windows.

Poco más de 2 semanas después, la librería estaba corriendo tanto en Windows como en Linux y FreeBSD.

En algún momento indefinido en los siguientes días decidí realizar una pequeñas modificaciones en la SWL para implementarla en Core, añadiendo a los objetos gráficos la autosugestión proporcionada por Core.

Al cabo de 2 meses Core y SWL2, fueron fusionadas en lo que pasó a llamarse Taronja y que posteriormente tambien fué fusionada con Llima, una pequeña llibreria con utilidades para cálculos matemáticos.