Dos generaciones de COBOL: mi abuela y yo

Dos generaciones de COBOL: mi abuela y yo

  • Mainframe
6 min de lectura Actualizado Jun 12, 2024

Puntos clave: COBOL sigue siendo un lenguaje de programación crucial, ilustrado a través de historias personales sobre su evolución y significado. El autor reflexiona sobre la experiencia de su abuela programando en COBOL, destacando su transición desde los primeros métodos informáticos hasta aplicaciones modernas.

  • COBOL mantiene la funcionalidad de programas heredados mediante la compatibilidad hacia atrás.
  • Las mejoras modernas aseguran la relevancia de COBOL en el panorama tecnológico actual.

Antes de trabajar en mainframe, mi único contacto con COBOL fue cuando se mencionó brevemente en la sección de historia de mi primera clase de ingeniería informática. Mi abuela escribió COBOL, así que debe ser antiguo, ¿no? Nunca pensé que la gente siguiera usando COBOL, y mucho menos que yo lo utiliza en mi carrera. Trabajar con la misma tecnología que mi abuela hace 45 años me ha dado un nuevo respeto por su trabajo y el impacto de COBOL como lenguaje de programación. Casi de la misma manera que yo topé con el mainframe, mi abuela se metió en programación sin saber mucho de ello. Ella estudiaba Filología Inglesa, pero quería algo diferente a su trabajo como editora de periódico. Tomó algunas clases de programación porque era nuevo, emocionante y muy solicitado. Como ella misma dijo, "Pensaba en la programación como simplemente aprender otro 'lenguaje', en el que se me daba bien." Tras obtener su título, hizo un poco de programación freelance y luego fue contratada en una empresa de catálogos por correo (esos seguían existiendo entonces) a principios de los años 80. Tenían datos de cientos de miles de clientes almacenados en carretes de cinta de 14". Su responsabilidad era escribir programas COBOL que ordenaran y filtraran esos datos para que pudieran usarlos en marketing dirigido. Ahora parece trivial, pero este proceso era bastante innovador para la época. Antes de los ordenadores, simplemente no era factible revisar tantos registros de clientes con suficiente eficiencia como para hacer algo útil. Su reluciente máquina IBM® les permitía hacer cosas increíbles, pero hemos avanzado mucho desde entonces. Hoy en día, los datos probablemente se almacenarían en discos duros supereficientes en lugar de carretes de cinta. Si los datos se organizaran en una base de datos Db2, los complejos programas de ordenación y filtrado de la abuela probablemente podrían simplificarse con unas cuantas consultas SQL bien elaboradas. También podría configurarse con cifrado y copias de seguridad redundantes para seguridad e integridad de datos, todo gestionado automáticamente por z/OS®. Por supuesto, nuestros programas funcionan mucho más rápido en máquinas modernas, pero también podemos escribir esos programas más rápido. La abuela tenía que LITERALMENTE ESCRIBIR sus programas en papel. Cuando terminaban, se los enviaba a otra persona que los fichaba por ella (sí, usaban tarjetas perforadas entonces). Recibía un montón de tarjetas días después. Como los perforadores a veces cometían errores, tenía que corregir esa pila de tarjetas antes incluso de intentar compilarla. Cuando programo, compilo incontables veces al día para revisar mi trabajo y verificar mi programa. Solo pulso un botón y Obtén mis resultados en segundos. De hecho, con las funciones de análisis estático de código, a veces me notifican errores mientras programo, antes de pulsar ese botón para compilar. Cuando mi programa están terminado, tengo pruebas automatizadas que puedo ejecutar que lo verifica antes de enviarlo. La abuela solo tenía que cruzar los dedos y esperar el fax de "¡FUNCIONÓ!". Según ella, "Por mucho que te revisado todo, siempre te estaba un poco nervioso cuando se desconectaba." Con más de 50 años de actualizaciones para facilitar la utiliza, eficiencia y escalabilidad, COBOL no es el mismo que cuando mi abuela programaba. En aquel entonces, ni siquiera soportaba funciones básicas como punteros, aritmética de punto flotante y binaria, o recursión. Ahora, COBOL soporta todo eso más funciones más modernas como contenedores, sobrecarga de funciones, optimización automática en tiempo de compilación y mucho más. COBOL tiene funciones que compiten con algunos de los lenguajes más modernos y avanzados que existen. Sin embargo, una característica en particular están responsable de la permanencia de COBOL. COBOL siempre se diseñó pensando en la compatibilidad hacia atrás para asegurar que tus programas siempre funcionaran. Los programas COBOL escritos inicialmente hace décadas son siguen cumpliendo su función hoy en día. Por ejemplo, la versión moderna de COBOL podría seguir compilando los programas antiguos de la abuela con una refactorización mínima. Probablemente querría aprovechar esas nuevas funciones (y definitivamente querría copiarlas de esas tarjetas perforadas), pero funcionaría incluso si no lo hiciera. COBOL en el mainframe funciona, ha funcionado durante los últimos 65 años y seguirá funcionando en el futuro. Aunque todavía están código COBOL, habrá herramientas para agilizar su desarrollo, pruebas y mantenimiento. Apuesto a que los desarrolladores de COBOL del futuro tendrán herramientas nuevas y sofisticadas que multiplican su productividad, como lo ha hecho el IDE moderno conmigo. Sueno como la abuela con sus tarjetas perforadas cuando recuerdo cuando tuvimos que escribir nuestros programas, en lugar de que la IA leyera tu mente o algo así. Quizá alguien conozca el trabajo que hice y eso les inspire como mi abuela me ha inspirado a mí.

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Mainframe

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.