Las herramientas para desarrollar páginas Web eran primitivas, tenía que programar con lenguaje C y usar la arquitectura CGI y FASTCGI. Era distinto ver el nuevo lenguaje de marcas llamado HTML en sus primeras versiones. Recuerdo que tener INTERNET era todo un lujo que pocos podían darse. Comprar un MODEM con una velocidad aproximada de 9 KBS era algo increíble; el precio era aproximadamente de 1000 US$. Y ni que hablar del contrato con el operador de telefonía.
Por el año 1993, más que desarrollar páginas Web, el potencial que vimos era la transferencia de archivos con el protocolo FTP. Convencimos a nuestros proveedores de implementar INTERNET y poder intercambiar archivos. Antes, el intercambio de información se hacía de forma impresa, con equipos de Fax, pero era muy complicado pasar la información impresa a nuestros sistemas. Esto fue toda una revolución tecnológica, podíamos enviar un recibir información digital y transferirla de forma directa a nuestros sistemas. Podíamos digitalizar una imagen con un escáner y enviarla por FTP a nuestro proveedor por alguna falla de fábrica de un producto. En aquellos años fuimos los precursores de INTERNET en el Perú, la empresa donde laboraba estaba a la vanguardia en tecnología de información. Se enlazaron nuestros sistemas a fuentes de información externa, utilizando tecnología barata de comunicaciones (Comparado con otros sistemas que usaban redes metropolitanas con líneas dedicadas).
Algo que valoraron los directivos de la empresa fue la disponibilidad de información. Se podía planear políticas de precios y disponibilidad de stock de nuestros productos. Solo nosotros contábamos con esa ventaja comparativa respecto a nuestros competidores. Esto nos permitió crecer muy rápido en el mercado y llegamos a ser el número uno en el rubro.
Uno de los principales cambios en la tecnología fue con el lanzamiento de Windows 95. Fue extraordinario ver un sistema operativo totalmente gráfico. Con las versiones anteriores de Windows, la consola gráfica era opcional, y muchos utilizaban solo interface modo texto. Pero todo cambió; ver el arranque directo en modo gráfico fue una experiencia totalmente nueva. La consola modo texto debía ser solo opcional, los usuarios ya no volverían a una interface modo texto. Teníamos que pensar en desarrollar sistemas de un modo totalmente distinto. Ya no habría más programación directa en la memoria de pantalla, ya no habría más programación directa del teclado – No se programaría más las interrupciones del sistema. Esto realmente si cambio todo. Microsoft implementaba los SDK, y se tendría que programar sobre ello.
Con la Suite de desarrollo de Microsoft, tomó fuerza el lenguaje Visual Basic; si, el lenguaje legendario de muy larga trayectoria era la herramienta que los desarrolladores promedio podrían utilizar para desarrollar sistemas en Windows 95. Los más duros tenían el lenguaje C (Microsoft C Compiler) y Visual C++ para ser utilizado. Si deseabas programar controladores, Microsoft tenía en lenguaje Macro Assembler como alternativa para las empresas que se dedicaban a ello.
Era totalmente distinto programar en una nueva plataforma. Recuerdo que migrar sistemas en modo texto no tenía sentido, lo mejor era volver a construirlo. Mucho se promovió las librerías MFC (Microsoft Foundation class) para C++. Fue un gran aporte de Microsoft para los desarrolladores que venían de un lenguaje estructurado como el ANSI C. Además, proveía muchas clases que ahorraban trabajo.
Recuerdo que el cambio de lenguaje estructurado a un lenguaje basado en objetos fue un poco duro. Se tenía que pensar de otra forma. Algo que me ayudo fue haber programado en Pascal; este lenguaje ya tenía implementado la tecnología de objetos, pero solo lo usaba con fines académicos.
Lo más complicado era tomar la decisión como plantear la solución en un sistema empresarial; definitivamente era distinto. Tenías 2 opciones, diseñar las clases basado en procesos o diseñar las clases basado en entidades. Finalmente la decisión fue el diseño por procesos, era algo más afín a los procesos empresariales y por los antecedentes de los sistemas, era lo conveniente para mantener la línea del conocimiento adquirido con los sistemas anteriores.
Desde el año 1993 utilizaba el Compilador Borland C, una herramienta fabulosa, extremadamente flexible y muy robusta. Pero con los cambios de 1996, era necesario tener una nueva herramienta acorde con los nuevos requerimientos. A finales de 1995 me llego el nuevo compilador Borland C++, impresionante, mucho mejor que Visual C++. Algo que me obligo a mantener ambas herramientas como fundamentales en mi trabajo.
Borland marco gran parte de mi vida, desde sus versiones de Turbo Pascal, Turbo C, Turbo Assembler y Turbo Basic, siempre lo considere como la empresa que revoluciono toda la tecnología de desarrollo. Aun veo con nostalgia todas esas herramientas.
En el año 1997 tuve la oportunidad de programar en Borland Delphi, era Pascal por objetos. Era desarrollar para entornos gráficos. Quedaba atrás Pascal como lenguaje estructurado y venia este lenguaje 100% por objetos y totalmente implementado para el desarrollo de entorno gráfico. Lo utilice mucho en la parte académica. No había nada que hacer, Borland era un genio. Era tan potente que las librerías para C++ de Borland eran creadas con Delphi. Si querías modificar los componentes desde la fuente, debías programar en Delphi Pascal. Todas las librerías graficas de Borland C++ estaban desarrolladas en este lenguaje.
Desde 1995, con el lanzamiento de Windows 95, fue todo un cambio. Esto afecto a las bases de la tecnología de desarrollo. Surgían los nuevos modelos de desarrollo de Software. Si querías ser un programador seria, debías programar en estos lenguajes. Debías crear tus librerías, no había otra manera. Actualmente existen muchas fuentes de donde puedes obtener esto, lo cual te ahorra mucho trabajo. Cada librería que desarrollabas debías hacer tu mismo las pruebas de carga y las validaciones de resultados antes de ponerlo en producción.
A finales de los 90 la programación por objetos maduró mucho y se asentó como la forma ideal de crear sistemas. Había quedado atrás la programación estructurada. Los nuevos patrones de desarrollo se debían formar basado en esta forma de programar. Los nuevos conceptos de encapsulamiento, herencia y polimorfismo debían ser parte inherente a la hora de plantear un desarrollo de Software.