Programadores de los 60: el complejo arte de ‘picar’ código en tarjetas perforadas

Hoy en día los programadores cuentan con numerosos recursos para desarrollar sus creaciones, incluso antes de la revolución de la IA y del *vibe coding*. “Picar código” sigue siendo complejo, pero es relativamente cómodo gracias a los modernos entornos de desarrollo integrado (IDE) que facilitan la programación en diversos lenguajes. Además, programar es accesible: cualquier PC modesto puede servir, aunque los asistentes de IA hayan introducido nuevos costes.

Hace medio siglo, la realidad era muy distinta. Quienes se dedicaban a la programación enfrentaban obstáculos significativos: no existían los ordenadores personales, el acceso a *mainframes* y servidores era un privilegio y ni siquiera había monitores para visualizar el código en tiempo real. Todo era más artesanal e incómodo. Las tarjetas perforadas son el legado de una época que demuestra que, en tecnología, cualquier tiempo pasado no siempre fue mejor.

Así lo explicaba en un hilo de Twitter Foone, coleccionista e historiador tecnológico, al relatar cómo trabajaban los programadores en 1962. Su imagen contrastaba enormemente con la de los jóvenes que hoy crean gigantes tecnológicos desde un dormitorio universitario o un garaje. Aquellos programadores solían ser adultos que vestían con chaqueta y corbata, ya que para acceder a este campo era necesario trabajar en grandes empresas, las únicas con acceso a los *mainframes* de la época.

Foone ponía como ejemplo el **IBM 7090**, uno de los primeros ordenadores basados en transistores —no en tubos de vacío como su predecesor, el IBM 709—. Aquello supuso una revolución: multiplicaba por seis el rendimiento anterior y era capaz de ejecutar 100.000 operaciones de coma flotante por segundo.

Sin embargo, programar esta computadora no tenía nada que ver con las interfaces actuales. No se escribía código viéndolo en una pantalla. Tampoco eran sistemas multiusuario o multiproceso, por lo que solo una persona podía usar toda esa potencia en cada sesión. Esto convertía a estas máquinas en bienes extremadamente preciados y costosos, que de hecho IBM alquilaba.

En 1962, alquilar una de estas computadoras durante un mes costaba **63.500 dólares**, lo que equivaldría a unos **421.000 dólares actuales** ajustados por inflación. En un cálculo simple (un mes tiene aproximadamente 44.000 minutos), cada minuto de uso costaría unos **10 dólares de hoy**. En un par de horas, uno podía gastarse el equivalente a un buen PC o portátil actual.

Estas restricciones económicas hacían que el tiempo en la máquina fuera oro. Aquí es donde entraban en juego las **tarjetas perforadas**. Cada una tenía una capacidad de 80 caracteres —el máximo por línea—, aunque lo habitual era usar solo los primeros 72.

Para perforar las tarjetas se utilizaba una máquina especial, fabricada por empresas como IBM, que podía ser mecánica o, en versiones más modernas, electromecánica. El proceso era sencillo: los caracteres escritos en la máquina se “traducían” en perforaciones en la tarjeta.

La programación no consistía en sentarse y escribir comandos sin parar. Primero, el programa se escribía a mano o a máquina utilizando plantillas proporcionadas por IBM, diseñadas para no exceder el límite de caracteres por línea. El resultado final era una pila o mazo de tarjetas perforadas que contenía todas las instrucciones del programa, las cuales debían estar perfectamente ordenadas en secuencia.

Este mazo se entregaba a los operadores de la computadora, quienes lo introducían junto a una tarjeta de control de tareas que indicaba al sistema cómo y cuánto tiempo debía ejecutarse. Otros programas podían estar en **cola de ejecución** —era un trabajo por turnos—, por lo que no era cuestión de llegar y ejecutar.

La ejecución podía tardar bastante, así que el programador no esperaba el resultado. El operador dejaba el mazo de tarjetas y el resultado impreso en un cubículo, donde el programador lo recogía más tarde.

El principal problema era, por supuesto, los errores. Si el programa fallaba, no funcionaba o producía una salida inesperada, había que detectar el fallo, corregir la tarjeta o tarjetas afectadas y repetir todo el proceso de ejecución.

Hubo avances notables en la época, como la capacidad de convertir tarjetas perforadas en programas almacenados en **cintas magnéticas de casete**, lo que aceleraba significativamente la lectura.

Este era el día a día de los programadores de entonces, quienes solían utilizar lenguajes como **FORTRAN** o **COBOL**. Estas máquinas fueron cruciales para proyectos como el **CTSS (Compatible Time-Sharing System)**, uno de los primeros sistemas operativos, desarrollado por el Centro de Computación del MIT.

También fueron **usadas por la NASA** en las misiones Mercury y Gemini. De hecho, se empleó una IBM 7090 para ejecutar el software de planificación de vuelo en las **misiones Apolo**, antes de que se migrara a los nuevos System/360 adquiridos por la agencia espacial.

Existieron aplicaciones más curiosas que aún hoy resuenan. En 1962, los matemáticos **Daniel Shanks y John Wrench** utilizaron estas computadoras para calcular los **primeros 100.000 decimales de π**. Un año antes, **Alexander Hurwitz** usó una IBM 7090 para descubrir los dos números primos más grandes conocidos entonces, con 1.281 y 1.332 dígitos.

**Redacción FV Medios**

**REDACCIÓN FV MEDIOS**

Derechos Reservados FGJ MULTIMEDIOS 2024