19 de agosto de 2010

La transición de un programador de lenguajes xBase para DOS a WINDOWS, un poco de Historia

Como programador de la vieja escuela, aquella en donde reinaba DOS en las computadoras personales, y Unix o Xenix en los grandes computadores de la Universidad, pasé por una amplia gama de lenguajes de programación, entre ellos PASCAL, FORTRAN, COBOL o C, sin olvidar a BASIC en sus versiones MBASIC, GWBASIC, QBASIC y TURBO BASIC.
Luego, cuando comencé a desarrollar aplicaciones de gestión, me encontré con un sencillo lenguaje interpretado, incorporado dentro de un potente gestor de Bases de Datos llamado dBase III Plus, el cual organizaba los archivos de datos en un innovador formato con la extensión .DBF, y que además permitía manejar muy fácilmente las tablas de índices, tarea engorrosa hasta entonces en otros lenguajes.  Posteriormente aparecieron otras alternativas a dBase que utilizaban los mismos formatos para el manejo de bases de datos y una sintaxis similar para la programación, destacando entre ellos un confiable FoxPro, y un potente compilador para dBase que cobró vida propia bajo el nombre de Clipper.  Todos estos lenguajes derivados del dBase, recibieron la denominación de lenguajes xBase, y se popularizaron entre los programadores en forma paralela al desarrollo de Windows, que para entonces pasaba de ser un ambiente operativo que corría sobre DOS, a ser el Sistema Operativo más usado en el mundo.

La creciente demanda de Windows hizo evidentes sus limitaciones para adaptarse a los nuevos estándares y a la aparición de nuevo y más potente hardware.  Windows luchaba por sacar el DOS que llevaba en su ADN pues era su principal lastre -cosa que veíamos con preocupación-, y asimilar los genes perfeccionados de un medio hermano, nacido como consecuencia de la fallida relación entre Microsoft e IBM en la búsqueda de una promesa llamada OS2. Este medio hermano era Windows NT, y se convirtió en la base de lo que conocimos como Windows 2000, Windows XP, y los actuales VISTA y 7.

Como bien sabemos, la evolución de Windows afectó drásticamente el desarrollo de aplicaciones en lenguajes para DOS, y nos vimos enfrentados a una nueva generación de lenguajes cuya creación y funcionamiento estaban basados íntegramente en la orientación a objetos.  En estos nuevos lenguajes predominaba una interfaz gráfica sobre la cual diseñábamos ventanas, y programábamos porciones de código que representaban acciones en respuesta a eventos que afectaban a los objetos o elementos la interfaz.   También conectábamos diferentes formatos de bases de datos gracias a la magia de algo llamado ODBC.

Para aquellos de nosotros que habíamos adoptado alguno de los lenguajes xBase para DOS, este cambio representó un duro golpe.  No era fácil pasar de las líneas de código propias de nuestros PRG, a los proyectos gráficos, y la curva de adaptación (más que la curva de aprendizaje) se hizo muy difícil de remontar.  Ya no teníamos el control de todo nuestro programa, no podíamos manejar los puertos de comunicaciones, tampoco podíamos controlar los procesos de impresión como lo hacíamos antes.  Estando así las cosas, nos vimos enfrentados a la tarea de buscar una opción para migrar nuestras aplicaciones a Windows, o bien, a ingeniarnos para solucionar estos problemas y mantenernos firmes con nuestro lenguaje favorito.  Aparecieron distintas alternativas, unas mejores que otras, y aunque muchos opinen lo contrario, la adaptación a un nuevo lenguaje o el uso de una librería que nos permitiera acceder al desarrollo de aplicaciones windows, representaban cambios de sintaxis, nuevos objetos, definiciones o declaraciones que modificaban drásticamente el lenguaje al cual estábamos acostumbrados. Ni siquiera la aparición del desafortunado dBase V para Windows, nacido de la mano de Borland, representó una alternativa adecuada para nuestra migración.

¿En qué estamos ahora?  muchos usuarios de Clipper adoptaron librerías mágicas como Clip4win o Fivewin, que transformaban sus aplicaciones DOS a Windows de 16 bits, luego, muchos de ellos migraron a Harbour para superar el obstáculo que impusieron las tecnologías de 32 bits.  En cuanto a los usuarios de Foxpro, muchos migraron a Visual Foxpro, el resto de los usuarios trataron de migrar a otras opciones menos afortunadas como CA Visual Objects, o bien, continuaron firmemente aferrados al desarrollo en DOS.

¿Y yo? pues yo conocí un software de desarrollo bastante liviano y fácil de entender, aunque está dentro de la categoría correspondiente a las alternativas "menos afortunadas", esta opción me permitió  migrar fácilmente aplicaciones hechas en Clipper a entornos Windows, pues su sintaxis y forma de programación lo dejaba a medio camino entre los lenguajes basados en interfaces gráficas y aquellas basadas en líneas de código.  Esta herramienta de desarrollo hacía transparente para aquellos programadores como yo,  acostumbrados a la programación estructurada, pero lineal, los elementos de la programación basada en objetos y eventos, e incluia una rudimentaria herramienta para diseñar aplicaciones en forma gráfica que rara vez utilicé.  Bueno amigos, ustedes ya lo saben por el título del Blog, mi elección fue CA-dBFast (de Computer Associates), y a pesar de que por requerimientos laborales tuve que migrar a Visual Basic y Visual Foxpro, además de plataformas empresariales más específicas y potentes como SYBASE, SQL y Powerbuilder, me reencontré con este viejo conocido y recordé los años en que probaba funciones y líneas de código que se traducían en aplicaciones Windows.  Así pues, la nostalgia me llevó a crear este Blog cuyo objetivo es compartir con aquellos incondicionales de dBFast, mis experiencias y descubrimientos para dotar a este lenguaje, de herramientas y potencialidades que algunos dicen que no posee, pero que con ingenio se pueden implementar.

A pesar de que algunos me dicen que estas son palabras al viento y líneas perdidas, estoy convencido de que la mejor herramienta es aquella que sabemos usar y que nos permite hacer el trabajo, independientemente de que haya mejores o peores, así que espero, humildemente su colaboración y comentarios para demostrar que dbFast sigue vivo y que aquella aplicación creada para Windows 3.1, aún funciona bien en Windows 95, 98, ME,  NT, 2000, XP, VISTA y 7, sin modificaciones, services pack o librerías adicionales.

Para finalizar y para premiarlos por su paciencia al leer estas líneas, quiero compartir con ustedes una aplicación sacada directamente del disco duro de los recuerdos, la cual representa mi primer intento de incorporar elementos gráficos y multimedia a mis programas hechos en dbFast, en la versión 2.0D-2.  Este programa es un sensillísimo ejemplo de Anuario que incluye los ejecutables y las fuentes en PRG, y aunque hay cosas por depurar (tarea que les dejo a ustedes), funciona sin problemas. 

Pueden descargarlo desde MEGAUPLOAD

MEDIAFIRE

FILESERVE:




Acá algunas capturas del Anuario para ustedes:









 
Saludos y nos vemos en el próximo artículo.

1 comentarios:

  1. Hola:
    Me parece muy bueno tu comentario acerca de los lenguajes Xbase y me parece una buena opción ante los inminentes cambios que se han estado dando.
    Por mi parte he continuado paulatinamente en la ruta de Fox, me parece un buen lenguaje y muy potente, casi cualquier cosa se puede hacer con él.
    Pero siempre hay que tener algunas cartas debajo de la manga.
    Saludos.
    Job Silva R.

    ResponderSuprimir