¡YA TENEMOS XAILER EN HARBOUR!
Bueno, casi. Quedan algunos detalles, además de depurarlo. Pero ya está funcionando al 90%. Tanto el núcleo como la ampliación del motor de objetos han sido portados con éxito, y toda la librería de Xailer, con todos los controles, datasources, etc.. Lo único que queda por ahora es el soporte para crear DLLs y el debugger, pero ya estamos trabajando en ello. También, el IDE ha sido modificado para poder compilar cualquier proyecto con xHarbour o con Harbour.
Por ahora todo está con BCC++. Tenemos algunas cosas pasadas a MinGW, pero en esta primera fase queremos que funcione con BCC++, y cuando esté depurado y estemos seguros de que todo funciona como debe, entonces terminaremos de dar el salto a MinGW.
Todas las pruebas que hemos hecho hasta ahora han sido satisfactorias, y hemos podido comprobar que los programas ruedan un poco más rápido, consumen un poco menos de memoria, y el ejecutable es un poco más pequeño. No es fácil dar cifras, porque todo depende de lo que se haga; unas veces se ganará más y otras menos. No obstante, en una prueba ad-hoc para medir el rendimiento del motor de objetos y nuestra ampliación del mismo, hemos obtenido un incremento de velocidad del 75% con respecto al Xailer actual con xHarbour, lo que no está nada mal. Esto no significa que los programas vayan a ser un 75% más rápidos, porque en cualquier programa hay muchos factores que afectan al rendimiento, sino que las operaciones que implican al motor de objetos son un 75% más rápidas. Por otro lado, todo Harbour es, en general, más rápido que xHarbour, por lo que una mejora sustancial siempre estará garantizada.
En el paso a Harbour, hemos tratado de minimizar en todo lo posible las diferencias entre ambos compiladores, de forma que afecten a los programas Xailer lo menos posible. Pero claro, hay cosas que es imposible evitar, y cada programador tendrá que revisar para adaptar sus programas. En cualquier caso, los cambios son pocos y la mayoría son muy fáciles de corregir. Aquí tenéis una lista con las diferencias que nosotros mismos nos hemos encontrado al portar los fuentes de Xailer: Guía de migración a Harbour. Y aquí tenéis la lista oficial de diferencias entre ambos compiladores: xhb-diff.txt. Este último está en la lengua de Chespir (Shakespeare para los angloparlantes), pero es lo que hay.
Por último, aunque en alguna ocasión hemos comentado que Xailer 3.0 será con Harbour y MinGW, estamos valorando la posibilidad de publicar un Xailer 2.7 que soporte tanto xHarbour como Harbour con BCC++. El objetivo principal es que se depure lo antes posible, para lo que nos vendría bien la ayuda de todos vosotros. Y si además, sirve para que los usuarios que quieran puedan recompilar sus programas aprovechándose de las mejoras de rendimiento, pues mejor. Si queréis, podéis utilizar los comentarios para darnos vuestra opinión.
Como me alegro de leer esta noticia, ya es hora de que se vaya viendo el fruto de vuestros últimos meses de trabajo.
Estaremos atentos para ir probando la nueva versión en cuanto esté disponible y esperamos llegar cuanto antes al cambio de compilador para jubilar el vetusto BCC++.