Etiquetas

6/29/2004

Retroingeniería, o descifrando Rosetta

Se me ha ocurrido estudiar el código de Contalinex (al menos la parte de Gestión Linex Contabilidad) para aprender cómo van esos programas y, de paso, probar a portarlo a una tecnología que no esté agonizando, como es el caso de Kylix.

Me ha quedado claro que la empresa que lo desarrolló lo hizo con prisas, ya que el código está sin documentar (salvo comentarios en plan “Esto es un listado” o “Fin del bucle”), todo está metido a saco en un directorio y no hay archivos de texto que describan la arquitectura. Voy a tardar bastante en tenerlo todo bien documentado.

De todas formas me viene bien haber usado Delphi antes, aunque fuese la versión 2, ya que veo por dónde van los tiros en el programa. Aunque kylix no me ayudará mucho. Me he bajado la versión 3 (licencia gratuita open community), y como no está actualizado desde el 2003, me he encontrado conque no puede hacer fork() en el núcleo 2.6. El resultado es que intentar ejecutar el proyecto desde el entorno de desarrollo lo deja bloqueado. Al menos tiene un buen navegador de código y gestor de proyectos para echar un vistazo a lo que necesita.

Por cierto, no dejo de encontrar curiosidades. El archivo “credenciales.pas” aleatoriza el orden en que aparecen los dos programadores cada vez que accedes a los créditos del programa. Hay un archivo de utilidades para encontrar subcadenas y demás que tiene código en ensamblador 80×86. Y ésto es sólo el principio.

No hay comentarios: