Reseña

En la actualidad la realidad y el uso de los dispositivos electrónicos y computacionales provocado una ola de cambios teniendo con un hito el uso de smartphones desplazando el uso de tabletas, portátiles y escritorios de sobremesa teniendo un vertiginoso cambios y avances por lo que muchas aplicaciones tiene un período de vida muy pero ¿Cuál es el programa informático más antiguo y que aún está en uso?

Mainframe COBOL
Mainframe COBOL

El  Departamento de Defensa de los Estados Unidos, donde en 1958 se desarrolló una aplicación encargada de gestionar los contratos de los servicios para la administración. Aquel programa se desarrolló en COBOL, y es tan complejo y crucial que sigue funcionando hoy en día casi de la misma forma que hace 60 años.

Una versión de Cobol con patalla
Una versión de Cobol con patalla

Posteriormente las tarjetas fueron sustituidas por programas informáticos y pantallas que se encargaban de la programación y control de datos lo que facilitó su programación y mantenimiento que originalmente eran monocromáticas y el proceso de computo se realizaba en mainframe.

Un programa en COBOL de facturación que conocí tenía 7560 líneas de código pues es necesario la declaración de extructuras y variables desde un inicio asi como el uso de la base de datos que empleará.

¿Por que no ha sustituido?

El llamado Mechanization of Contract Administration Services (MOCAS) apareció incluso un par de años de que COBOL estuviera aprobado formalmente como lenguaje.

El gobierno de los Estados Unidos sigue intentando sustituir esta aplicación por una alternativa más moderna, pero los esfuerzos pasados han hecho que de momento no sea factible esa opción: sería demasiado costoso y cualquier sistema debería solapar su ejecución perfectamente con la de esta aplicación para evitar que un entorno crítico como este tuviera problemas

Aquel sistema logró irse adaptando a los nuevos tiempos… más o menos. En las siguientes décadas se adaptó el programa para que funcionará en terminales “de fósforo verde”, como las que hoy en día se usan en ciertas aerolíneas, agencias de viajes, bancos o empresa de telecomunicaciones.

Hoy en día se ha hecho que MOCAS sea algo más usable conectándolo a una interfaz web con la que es posible controlar la aplicación, pero el sistema sigue siendo absolutamente vital: con él se gestionan 1,3 billones (con b de billón español) de dólares en obligaciones, y 340.000 contratos. El servidor en el que se ejecuta es modesto: un IBM 2098 E-10 de 2008 con 8 GB de RAM cuya potencia de proceso es de 398 MIPS.

Mainframe
Mainframe

Mi experiencia en COBOL

IBM Card
IBM Card

De hecho los lenguajes de programación empleados en mis tiempos de estudiante eran Basic, Pascal y Cobol por ser lenguajes estructurados y algorítmicos, luego surgiría la programación orientada a objeto con versiones de Visual Basic por ejemplo.

Existian diferentes tarjetas de control para indicar el inicio de un programa previo a su compilación, tarjetas que indicaban que a continuación se leían las tarjetas con los datos por lo que tarjeta contenía un conjunto de datos relacionados como una línea de Excel o conjuntos con separadores. El programa indicaba el tratamiento de cada tarjeta de datos.

Al no existir una pantalla al “correr” el programa se producía un listado con todas las instrucciones y los resultados del computo. En caso de contrario un reporte del programa y una listado con las líneas que tenia errores de sintaxis, comando desconocidos, variables no declaradas, etc. Lo que requería mucha precisión en el momento de elaborar el algoritmo y ser eficientes en el momento de perforación.

Cuando se comenzó a usar ni siquiera se usaba una pantalla y un teclado, sino tarjetas perforadas que eran la forma tradicional de realizar la entrada de datos en los ordenadores.

Tarjetas perforadas

En ese entonces las tarjetas perforadas popularmente llamadas Tarjetas IBM por se el líder del mercado en perforadoras y lectoras de estas tarjetas. Dichas tarjetas tenían 80 columnas y columnas con los diez dígitos. Sólo se empleaban las primeras 72 columnas para instrucciones y el resto estaba destinado a instrucciones de control.

Cada instrucción de programa se perforaba en una máquina muy parecida a una máquina de escribir y en la parte superior se imprimía la leyenda de cada instrucción. Un programa de 3000 líneas de instrucción tenía 3000 tarjetas que debían se cuidadosamente ordenadas para conservar el código del programa pues sólo después de leerlas era posible grabar dicho programa.

No existía la tecla borrar instrucción, simplemente se descartaba y si se cometía un error en el momento de perforarla igualmente iban a la papelera.

¿El espacio, la última frontera?

Voyager 1 NASA
Voyager 1

Aunque apareció casi 20 años después, hay al menos otro programa informático digno de mención en este repaso: el que se sigue ejecutando hoy en día en las sondas Voyager 1 y Voyager 2, lanzadas por la NASA en 1977 y que hoy en día ya siguen explorando zonas del espacio a las que jamás se había llegado.

Ambas naves son prácticamente idénticas incluso en su conjunto de tres ordenadores en los que se encuentra el subsistema de datos de vuelo, el de la computadora de comandos y el de control de “actitud y articulación”. Estos sistemas logran que siga habiendo comunicación con la Tierra y que los instrumentos científicos funcionen.

El software de las sondas Voyager ha recibido actualizaciones que podríamos casi calificar como “OTA a lo grande”, pero dichas mejoras han sido reducidas, algo lógico teniendo en cuenta que la memoria de estos ordenadores de a bordo se reducía a 70 KB. Se espera que estas sondas sigan funcionando hasta 2025: alrededor de ese momento dejarán de comunicarse con nuestro planeta.

Pero quién sabe cuánto más seguirán funcionando esos programas.

Una idea en “¿Cuál es el programa informático más antiguo en funcionamiento?”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *