Acerca de dBFast

Cuando decidí crear este Blog, muchas veces me preguntaron ¿por qué dBFast? ¿Por qué no otra herramienta más moderna, más actual, o más de moda?.  Si lo pensamos bien, la pregunta está bastante fundamentada.  ¿Por qué crear un Blog sobre una herramienta desarrollada para las primeras versiones de Windows, descontinuada, sin soporte, y usada por un pequeño número de programadores, cada vez más conscientes de sus limitaciones?

La respuesta para mi es simple, y cobra especial sentido por mi carácter semi-revolucionario.  Basta escribir en cualquier buscador las palabras "Clipper", "Foxpro", "Visual Basic", o "C", entre otros, y vereis la cantidad de resultados que aparecen listados, pero escriban "dBFast", y verán que los resultados se limitan a un par de páginas específicas que entregan información relevante, y el resto son definiciones, diccionarios y páginas que no aportan absolutamente nada sobre esta herramienta.  Sin ir más lejos, basta con revisar la cantidad de entradas que hay posteadas en el foro sobre dBFast en "La Web del Programador", y compararlas con las entradas de Clipper o Foxpro.   Entonces, ¿por qué escribir sobre temas que abundan en internet, y no sobre aquellos de los cuales casi no hay información? ¿no es este último un desafío más interesante?, ¿Por qué habría de discriminar a las minorías entre las cuales, obviamente, me incluyo?. 

¿Qué es dBFast? 

Según Juan Carlos Negrete, en su web de soporte para usuarios de dBFast, "CA-dBFast es un sistema de desarrollo de aplicaciones dBase-compatible de Computer Associates. Ofrece más de 200 extensiones del lenguaje dBase, y permite que programas dBase o xBase, sean convertidos en aplicaciones Windows. CA-dBFast ya no es soportado por el proveedor original, y esa fue la razón principal de la comunidad para mantener vivo este producto en todo el mundo".

Ramón Denuc, uno de los desarrolladores emblemáticos de dBFast en España, opina, "Para mi, DBFAST, es uno de los mejores programas de desarrollo de aplicaciones en xBase para Windows que se ha creado.  Puedes aprovechar toda la experiencia que tengas de Clipper, (en caso de haber programado bajo Clipper), y sumar toda la fuerza que tiene DBFAST en el entorno de Windows.  Porque, aparte de poder, si quieres desarrollar programas, como se suele hacer con Clipper, puedes utilizar el Diseñador Visual que incluye DBFAST para crear Menús, Pantallas, Reports, etc. de esta manera puedes realizar programas con mayor rapidez y eficacia.  Prueba de utilizar DBFAST 2.0, te sorprenderá, porque es sencillamente fácil de utilizar y de comprender, y más si has utilizado Clipper."

La definición que utiliza Juan Carlos Negrete en su web, es la que aparece mayoritariamente en todas las páginas que hacen alguna referencia a dBFast,  siendo esa breve descripción, la que mejor  lo define.  Tal como lo expongo en el primer artículo del Blog, para aquellos desarrolladores como yo, acostumbrados a trabajar con la programación en código, más que con herramientas visuales, dBFast representa una forma fácil de migrar aplicaciones DOS a Windows.  ¿Por qué? justamente por las razones que la mayoría lo critica, osea, por ser una harramienta ligera y por su simpleza de uso.

dBFast trae lo justo y necesario, es decir, un editor para los programas, una utilidad bastante rústica para crear y administrar archivos de datos programada en dBFast, un incipiente pero eficaz diseñador visual, una utilidad para crear informes basada en el mandato REPORT FORM, una utilidad para crear etiquetas basada en el mandato LABEL FORM, y lo más importante, el compilador que genera código nativo de Windows. Incluye además CA-RET, un sencillo pero potente diseñador visual para informes, y a pesar de generar aplicaciones de 16 bit, razón por la cual también consume muchos recursos de la CPU, el hardware actual o de hace un par de años, no debería tener problemas para ejecutarlas.

¿Por qué Computers Associates dejó de lado dBFast? 

Mucho se ha especulado sobre las razones de Computer Associates para abandonar dBFast.  y a pesar de que se le publicitaba como un serio competidor para los productos de Borland, algunos lo consideraban un compilador de poca monta y se preguntaban por qué una empresa de la importancia de Computer Associates había posado sus ojos en dBFast.  ¿Era realmente necesario  para esta empresa invertir tiempo y recursos en una plataforma xBase para Windows?

Para quienes hemos desarrollado aplicaciones con dBFast, y utilizamos esta alternativa para migrar nuestros programas a Windows, estos argumentos no tienen mucha validez pues, nuestras aplicaciones funcionan tan bien como cualquier otra.  Tal vez dBFast no tiene los potentes diseñadores visuales de otros lenguajes, no tiene las potentes herramientas para la creación y gestión de datos, tampoco tiene una gran biblioteca de objetos y métodos, pero tiene lo esencial, es fácil programar con el código que ya conocemos, y cumple con el objetivo de generar aplicaciones Windows a partir de código xBase.  Esto, en manos de un buen programador, representa una solución a los requerimientos de gestión de cualquier usuario.

Ahora, si me preguntan, yo no creo que Computer Associates haya descontinuado dBFast por ser un producto deficiente, más bien, creo que esta fue una decisión que representa un periodo caracterizado por  decisiones equívocas en la estrategia de negocios de la empresa.  Para fundamentar mi teoría, basta recordar que Computter Associates también era propietario de Clipper, el potente compilador de código xBase para DOS, cuyo desarrollo lo acercaba cada vez más a C y que adoptaba todas las características de los lenguajes orientados a objetos.  También aparecieron diversas librerías de terceros que lo dotaban de potencialidades a las cuales dBase por si solo no podía optar.  Clipper había captado una importante cuota de mercado en el desarrollo de aplicaciones xBase, sin embargo, Computer Associates, inexplicablemente, también lo dejó de lado, abandonando a su suerte a los desarrolladores que habían apostado por esta herramienta.

Gracias a que la comunidad de usuarios de Clipper era bastante grande y organizada, hubo personas, como Antonio Linares, creador de FIVEPRO para DOS y FIVEWIN para Windows, que desarrollaron librerías destinadas a migrar aplicaciones Clipper nativas de DOS a Windows. Clipper sigue vigente y  ha evolucionado a una plataforma más potente llamada Harbour, capaz de generar aplicaciones Windows nativas de 32 bits, todo esto, mientras Computter Associates enfocaba sus esfuerzos en potenciar un malogrado software de desarrollo llamado Visual Objects, y dejaba la supervivencia de Clipper en manos de sus propios usuarios.

¿No hubiera sido una alternativa más rentable intentar fusionar la potencia del compilador Clipper con las prestaciones del compilador de dBFast, ambos programados en C?.  Si Computer Associates hubiera elegido esta vía para mantener cautivo un importante mercado de desarrolladores en lenguajes xBase, y hubiera puesto el énfasis que puso en Visual Objects para dotar a la fusión Clipper-dBFast de potentes herramientas visuales para el desarrollo de aplicaciones y para la gestión de bases de datos, estoy seguro de que la camada de programadores de los años 90, forjada bajo la herencia de dBase, hubiera seguido fiel a los productos de la empresa.

A aquellos que opinan distinto les pregunto, ¿habrá sido casual que Microsoft se hiciera cargo del desarrollo de Foxpro?.  Yo creo que no es casual, pues con esta decisión, ha logrado fidelizar a un importante número de desarrolladores, y a pesar de los rumores que hablan de la dicisión tomada por el gigante de Redmond  de finiquitar su producto xBase estrella, no podemos desconocer que la evolución de Foxpro ha dotado a su última versión de una clara integración con la administración de datos mediante la incorporación de SQL en su sintaxis.

Y para terminar, solo una pregunta, ¿no creen ustedes que hubiera sido un buen negocio potenciar una herramienta cuyas aplicaciones han sobrevivido desde Windows 3.1 hasta el actual Windows 7, sin necesidad de modificaciones, actualizaciones o Services Pack?, y si estaba escrito en C, ¿No hubiera sido fácil también recompilarlo y depurarlo para aplicaciones de 32 bits?.  Lamentablemente, eso nunca lo sabremos. 

Un poco de Historia

Según información de la época, Clyde Dever es el cerebro y único creador de dBFast, y como tal, el responsable de su evolución.  Amigos y conocidos afirman que Devers vivía en una casa rodante en 10 acres, en Sultan, Washington, un punto en el mapa al noreste de Seattle.

En una entrevista, Devers recuerda que "hubo un producto llamado dBFast para DOS, escrito por Phil Nicholson" y argumentaba,  "Soy programador en lenguaje C, y comencé a programar sistemas de Bases de Datos desde dBASE II, pero me encontré con que dBASE II era demasiado lento, así que empecé a escribir un compilador para él en lenguaje C. Desafortunadamente encontré algunos problemas importantes con dBASE que no permitían su compilación, cuando tenía la mayor parte del compilador escrito, se acercó Phil para hablar sobre la creación de un nuevo lenguaje basado en dBASE.  Finalmente, establecimos una  sociedad comercial y formamos una empresa llamada dBFast Inc., con sede en Issaquah, Washington, a fines de 1987".

El primer lanzamiento del producto para DOS salió en marzo de 1988.  Más tarde, ese mismo año, la compañía hizo públicias sus intenciones de crear versiones de su compilador para otros entornos, incluyendo Macintosh, Windows, NetWare SQL, y XENIX.  Pero internamente, dBFast Inc. se veia complicada  porque la versión en lenguaje assembler, creada por Nicholson, estaba plagada de errores.  Del mismo modo, la liberación de la versión para Windows de Dever, se vio obstaculizada por un mal recibido Windows 1.0.   Según Devers, "Windows 1.0 era visualmente un fracaso, pero internamente era precioso".  Todos se preguntaban,  ¿cómo es que Dever eligió Windows en lugar de OS/2, considerado en ese momento como uno de los mejores sistemas operativos?.   "Todo el mundo decía que OS/2 iba a revolucionar la industria del software, pero OS/2 requería tanta memoria, que pensé que el mercado no se movería en esa dirección. Yo no creía que fuera a despegar, excepto en el mercado corporativo",  aseguraba Devers.

La idea detrás de este primer producto de Windows era permitir a los desarrolladores crear aplicaciones Windows utilizando un lenguaje de programación que ya conocían - en este caso, dBASE.  Entregas posteriores ofrecerían compatibilidad con Clipper y FoxBASE.

Luego, en diciembre de 1988, Bumblebee Software, Inc. compró los derechos de comercialización de la versión de Dever, y el código de la versión DOS de Nicholson.  Después de pasar varios meses tratando de arreglar el código ensamblador sin grandes resultados, la empresa comenzó a enfocarse casi exclusivamente en la versión para Windows. Menos de dos años después, la compañía entró en crisis.  El producto carecía de esmalte y Bumblebee Software carecía de recursos para invertir la situación.  La compañía empezó a buscar desesperadamente un comprador, el precio: US$ 225.000.

Fue entonces cuando Larry Foster apareció.  Foster era un hombre de marketing que se había formado en empresas como Ingram, Softsel y Egghead Discount Software.  Durante la última mitad de 1990, Foster se reunió en secreto con los principales miembros de Bumblebee Software para plantear una oferta de compra. Ese otoño, el acuerdo se completó aunque a un precio mucho más bajo del esperado. "Yo no soy un desarrollador de bases de datos testarudo, pero he comercializado y puesto en marcha una gran cantidad de productos en mi vida", explicaba Foster cuando se le preguntaba sobre los motivos de la compra.  Finalmente, Foster fundó su propia empresa, Gen Soft, y se abocó a la tarea de comercializar dBFast para  las plataformas DOS, Windows y Mac, apuntando su estrategia comercial hacia un mercado estimado de 700.000 desarrolladores que utilizaban dBase.

Luego, Computer Associates, en la búsqueda de herramientas que le permitieran competir con los productos de Borland (dBase V y Paradox), adquirió dBFast comercializándolo hasta la versión 2.0D-2.  El resto de la historia, ya la conocemos...


RODRIGO DINAMARCA M. 




1 comentario:

  1. Muy Interesante su blog Sr. Rodrigo, trata el tema con bastante profundidad y desde el punto de vista de un programador. Realmente un lenguaje debe ser sencillo y compacto. He intentado trabajar con varios otros lenguajes pero aun no me convencen.

    Creo que Harbour es una maravilla, pero la documentacion, aunque abundante, esta muy mal organizada. Hay que leer un monton de manuales para hacer algo en windows. Lo que si es interesante en harbour es su total compatibilidad con clipper 5.3b en modo texto (consola). Hasta con el mouse funciona. Eso me permite llevar mis programas de clipper al mundo de 32 bits con bastante facilidad, Sin embargo he preferido re-desarrolarlos y crear nuevas librerias de interface con el usuario en modo texto) pues este modo es muy rapido y para algunas aplicaciones es en mi opinion mas eficiente. Adicionalmente la consola se puede redimensionar a cualquier tamaño diferente a los standard 80x25 o 80x43 o 80x50 y harbour los reconoce. Luego hay que programar todo de forma relativa utilizando maxrow() y maxcol().

    El modo de texto (consola) es mucho mas eficiente para ciertos programas como por ejemplo para el desarrollo de programas de facturacion (puntos de venta) donde el operador no deberia ser distraido por el uso del mouse.

    Sin embargo dbFast tiene algo del encanto de la epoca del win 3.1 que me gusta mas que la interface win95/98/2000. Los botones por ejemplo en los programas como Quattro Pro 6 para win 3.1 son bellisimos y el office e windows 3.1 era una maravilla. Lastima el limite de 64k para los recursos de windows...pero bueno.. nada es perfecto.

    De cualquier manera, gracias por crear una página como esta, me encanta el software antiguo, soy un fanatico de las computadoras de 8 bits (Paritcularmente la Atari 800) y cuando encuentro paginas como esta veo que el espiritu de programacion sigue vivo en personas como Ud. Programar con Clipper es no solo interesante sino divertido, igual como lo era en la epoca de los limitados recursos de las maquinas de 8 bits.El modo consola (en harbour) es casi identico a trabajar con MS-DOS pues se tiene el control de las ventanas save screen y restore screen) y con estos comandos se puede hacer todo un complejo sistema de text/gui dandole todo el control al programador y al usuario.

    Gracias
    Max Herment
    Algun lugar en las montañas
    y rodeado de gatos
    Venezuela

    ResponderEliminar