En un mundo donde la inteligencia artificial y la computación en la nube dominan la escena tecnológica, es fácil asumir que las innovaciones actuales dependen únicamente de software de vanguardia. Sin embargo, al sumergirnos en las entrañas de la infraestructura digital, descubrimos que gran parte de ella reposa sobre lenguajes de programación que han estado con nosotros durante décadas. Sectores esenciales como la banca y la industria aeroespacial siguen sustentándose en códigos venerables, como COBOL y Fortran, mientras que algunos, en un aparente dilema, consideran estos sistemas como reliquias del pasado, pero otros los veneran por su confiabilidad demostrada a lo largo del tiempo.
El Misterio del Software Antiguo
Recientemente, el hallazgo del código fuente de ELIZA, el primer chatbot de inteligencia artificial de los años 60, reavivó la curiosidad sobre la búsqueda de otros códigos antiguos que aún siguen en funcionamiento. A diferencia de la tecnología mecánica que podemos observar en aviones históricos o bombillas de un siglo de antigüedad, el software antiguo se oculta en la penumbra, lejos de una investigación sencilla. A pesar de que los primeros programas documentados de Ada Lovelace para la máquina analítica de Charles Babbage aún son admirables, nunca se ejecutaron, ya que la computadora nunca llegó a construirse. Por otro lado, el software para la computadora EDSAC en la Universidad de Cambridge, a pesar de su antigüedad, se encuentra virtualmente olvidado por la falta de hardware compatible.
Cuando lo Viejo se Integra en lo Nuevo
A diferencia de los dispositivos físicos que pueden ser sustituídos, el código antiguo, curiosamente, a menudo se integra en sistemas modernos. Lenguajes como Fortran de 1957 y COBOL de 1959, aunque escasamente presentes en el currículo académico actual, son pilares en infraestructuras críticas. Un ejemplo puntual es el sistema Sabre, un pionero en la gestión de reservas aéreas desde 1960, que sigue operativo hasta hoy. Sin embargo, la confirmación sobre el uso de líneas de código originales es casi imposible, pues las grandes aerolíneas prefieren evitar atender este enigma. Gigantes del sector como Delta Airlines, American Airlines y otros, permanecen en silencio cuando se trata de su software legado, una actitud reflejada también en el ámbito financiero, donde incluso gigantes como Apple y bancos históricos rehúyen discutir la presencia de tecnología obsoleta en sus sistemas.
Mantenimiento y Conocimiento: Un Desafío en la Sombra
Esta falta de comunicación genera preguntas. ¿Por qué las empresas no tienen claridad sobre el funcionamiento del código heredado? Mantener software de 40 o 50 años puede ser un auténtico laberinto, especialmente cuando aquellos que lo crearon ya no están para guiar su mantenimiento. Un caso impactante ocurrió en un banco de Londres en 1971, cuando se adoptó el sistema decimal. Con la falta del código fuente original, el banco enfrentó una encrucijada: en lugar de reescribir el software, se tuvo que recurrir a soluciones temporales, añadiendo fragmentos de código para convertir valores a la antigua moneda y adaptarlos al sistema decimal. Sin embargo, esto solo es un ejemplo de los problemas impuestos por la longevidad del código heredado, especialmente en un lenguaje problemático como COBOL, que, a pesar de su reputación, mantiene en funcionamiento alrededor de 800 mil millones de líneas de código, mayormente en el sector bancario y asegurador. Con la mayoría de los programadores especializados en este lenguaje siendo de la tercera edad, la nueva generación parece ignorar su relevancia.
Los Riesgos de Dependencia de Fragmentos del Pasado
Un evento reciente que pone de relieve los peligros de recurrir a código antiguo sucedió en julio de 2024. Una actualización fallida de la firma de ciberseguridad CrowdStrike resultó en fallos masivos en computadoras de bancos, aeropuertos y hospitales en todo el globo. Aunque se resolvió rápidamente, este incidente revela la fragilidad de las infraestructuras digitales al mezclar códigos de diversas épocas. De forma análoga, el famoso “error del milenio” (Y2K) de 2000 obligó a una gran actualización del sistema informático para evitar desastres en la transición al nuevo siglo, evidenciando cuán profundamente enraizado está el software antiguo en los sistemas actuales.
La Contradicción del Software Antiguo en la Industria Espacial
La resistencia a actualizar el software no es exclusiva de compañías privadas. En la industria aeroespacial, donde cada misión requiere inversiones millonarias, la preferencia por software probado supera a la incertidumbre de los desarrollos modernos. La Agencia Espacial Europea (ESA) respalda esta filosofía al afirmar que la confianza en el software es más crucial que la modernidad. “Con los satélites costando miles de millones, el riesgo de un fallo por software nuevo e inestable es inaceptable”, argumentó un ingeniero de la agencia. Curiosamente, las sondas Voyager, lanzadas por la NASA en 1977, siguen operando bajo el mismo software inicial, requiriendo conocimientos de programadores jubilados para su mantenimiento.
El Futuro del Código Antiguo
Nos encontramos en una encrucijada digital: aunque el software antiguo ha probado ser fiable, su dependencia podría volverse problemática si no hay expertos disponibles para su cuidado. En algunos sectores, hay un movimiento hacia la eliminación gradual del antiguo código, mientras que otros todavía confían ciegamente en su durabilidad y precisión. Como comenta Stuart Mackintosh, presidente de la Perl Foundation: “Lo viejo sigue en uso porque simplemente funciona”. Esta perspectiva refleja la dicotomía del software antiguo; a medida que se avanza hacia la inteligencia artificial y la computación cuántica, gran parte de nuestra infraestructura sigue fundamentada en líneas de código escritas antes de la existencia de internet. En este sentido, es plausible pensar que algunas de estas líneas de programación continúen operando dentro de 500 años. Aunque la tecnología avanza, su legado digital, indudablemente, perdurará en el futuro.