Programación informática en la era de las tarjetas perforadas - Computer programming in the punched card era

Los estudiantes programadores de la Technische Hochschule de Aquisgrán, Alemania, en 1970, utilizan teclados numéricos IBM 026 .
Tarjeta perforada de un programa de Fortran .

Desde la invención de los lenguajes de programación de computadoras hasta mediados de la década de 1970, la mayoría de los programadores de computadoras crearon, editaron y almacenaron sus programas línea por línea en tarjetas perforadas .

Tarjetas perforadas

Una tarjeta perforada es un medio flexible de una sola escritura que codifica datos, generalmente de 80 caracteres. Los grupos o "barajas" de cartas forman programas y colecciones de datos. El término a menudo se usa indistintamente con tarjeta perforada , con la diferencia de que una tarjeta sin usar es una "tarjeta perforada", pero una vez que la información se codificó perforando agujeros en la tarjeta, ahora era una "tarjeta perforada". Para simplificar, este artículo utilizará el término tarjeta perforada para referirse a cualquiera de ellos.

A menudo, los programadores primero escribieron su programa en formularios especiales llamados hojas de codificación, teniendo cuidado de distinguir el dígito cero de la letra O , el dígito uno de la letra I , ocho de B , dos de Z , y así sucesivamente utilizando convenciones locales como el " cero recortado ". Estas formas fueron luego tomadas por operadores de keypunch, quienes usando una máquina keypunch como la IBM 026 (más tarde IBM 029 ) perforaron la plataforma. A menudo, otro operador de perforación tomaba esa plataforma y volvía a perforar desde las hojas de codificación, pero utilizando un "verificador" como el IBM 059 que verificaba que la perforación original no tuviera errores.

Un error de escritura generalmente requería volver a perforar una tarjeta completa. La edición de programas se facilitó reorganizando las tarjetas y eliminando o reemplazando las líneas que habían cambiado; Los programas se respaldaban duplicando la platina o escribiéndola en cinta magnética.

En organizaciones más pequeñas, los programadores pueden hacer sus propios golpes y, en todos los casos, a menudo tienen acceso a un golpe de tecla para realizar pequeños cambios en un mazo.

Ambiente de trabajo

La descripción a continuación describe una tienda totalmente de IBM (una "tienda" es la jerga del programador para un sitio de programación), pero las tiendas que usan otras marcas de mainframes (o minicomputadoras ) tendrían equipos similares, aunque debido al costo o la disponibilidad podrían tener equipos de diferentes fabricantes, p. Ej. una tienda de NCR , ICL , Hewlett-Packard (HP) o Control Data tendría computadoras, impresoras, etc. de NCR, ICL, HP o Control Data, pero con teclas IBM 029. El enorme tamaño de IBM y su presencia en la industria a menudo hicieron que muchos de sus convenios fueran adoptados por otros proveedores, por lo que el ejemplo a continuación es bastante similar a la mayoría de los lugares, incluso en tiendas que no son de IBM.

Una instalación informática corporativa o universitaria típica tendría un conjunto de habitaciones, con una sala grande con acceso restringido y aire acondicionado para la computadora (similar a la sala de servidores actual) y una sala adyacente más pequeña y silenciosa para enviar trabajos. Cerca habría una habitación llena de máquinas perforadoras para uso del programador. Se puede configurar una máquina de contabilidad 407 de IBM para permitir que los programas recién creados o editados se enumeren (impresos en papel plegado continuo ) para su revisión. Se puede proporcionar un IBM 519 para reproducir cubiertas de programas para respaldo o para marcar números secuenciales en las columnas 73-80.

En tales instalaciones de mainframe , conocidas como "tiendas cerradas", los programadores enviaban las cubiertas del programa, a menudo seguidas de tarjetas de datos para que las leyera el programa, a una persona que trabajaba detrás de un mostrador en la sala de computadoras. Durante las horas pico, era común hacer cola esperando para presentar una baraja. Para resolver ese problema, el lector de tarjetas podría reinstalarse (o instalarse inicialmente) fuera de la sala de computadoras para permitir que los programadores realicen el envío de trabajos de " autoservicio ".

Muchas instalaciones informáticas utilizaron tarjetas con el corte de esquina opuesto (a veces sin corte de esquina) como "separadores de trabajos", de modo que un operador pudiera apilar varias plataformas de trabajo en el lector de tarjetas al mismo tiempo y poder separar rápidamente las plataformas manualmente cuando los retiró del apilador. Estas tarjetas (por ejemplo, una tarjeta JCL "JOB" para comenzar un nuevo trabajo) a menudo se perforaban previamente en grandes cantidades. Esto fue especialmente útil cuando la computadora principal no leyó las tarjetas directamente, sino que leyó sus imágenes de una cinta magnética que fue preparada fuera de línea por computadoras más pequeñas como la IBM 1401 . Después de leer las cartas, el operador de la computadora devolvería la baraja de cartas, por lo general a uno de un conjunto de cubículos etiquetados alfabéticamente, según la última inicial del programador. Debido a que los programas se ejecutaron en modo de procesamiento por lotes , podría pasar un tiempo considerable antes de que se produjera cualquier salida impresa o perforada en papel y se colocara en estos mismos cubículos; sin embargo, en un sistema poco usado, era posible hacer modificaciones y volver a ejecutar un programa en menos de una hora.

Los programadores dedicados pueden quedarse despiertos hasta pasada la medianoche para obtener algunos cambios rápidos. El uso de este costoso equipo a menudo se cargaba a la cuenta de un usuario. Una computadora central podría costar millones de dólares y el uso se midió en segundos por trabajo.

Las computadoras más pequeñas como IBM 1000 , 1620 y 1130 , y las minicomputadoras como la PDP-11 eran menos costosas y, a menudo, funcionaban como una "tienda abierta", donde los programadores tenían uso exclusivo de la computadora durante un período de tiempo. Por lo general, se ubicaba un golpe de tecla cerca para realizar correcciones rápidas, aunque muchas de estas máquinas más pequeñas funcionaban con cinta perforada .

Identificación y secuencia

Una plataforma de programa única, con subrutinas individuales marcadas. Las marcas muestran los efectos de la edición, a medida que las tarjetas se reemplazan o se reordenan.

Muchos lenguajes de programación tempranos, incluidos Fortran , Cobol y los diversos lenguajes ensambladores de IBM , usaban solo las primeras 72 columnas de una tarjeta, una tradición que se remonta al lector de tarjetas IBM 711 utilizado en la serie IBM 704/709/7090/7094 ( especialmente el IBM 704 , la primera computadora producida en serie con hardware aritmético de punto flotante), que solo podía leer 72 de las 80 columnas en una sola pasada.

Los compiladores ignoraron las columnas 73-80 y podrían usarse para identificación o un número de secuencia para que, si se dejara caer la baraja, se pudiera restaurar a su orden correcto usando un clasificador de tarjetas . Dependiendo del lenguaje de programación, las declaraciones de salida de depuración se pueden activar y "comentar" rápidamente usando tarjetas con tales declaraciones perforadas con el carácter de comentario ( por ejemplo , 'C' en Fortran) en la columna 80 de la tarjeta; girar la carta de un extremo a otro pondría la 'C' en la columna principal, lo que transformó el contenido de la carta ahora al revés en un comentario mientras dejaba la carta física en su lugar en la baraja.

(Una técnica alternativa, imperfecta pero comúnmente empleada para mantener el orden adecuado de las cartas era dibujar una o más franjas diagonales en el borde superior de todas las cartas de una baraja).

En años posteriores, a medida que los datos de las tarjetas perforadas se convertían en archivos de cinta magnética, los números de secuencia se usaban a menudo como una columna en una matriz como un valor de índice que se puede correlacionar con secuencias de tiempo, como en las ciencias naturales donde los datos de las tarjetas estaban relacionados con la salida periódica de un dispositivo de medición, como registradores de nivel de agua para ríos y arroyos en hidrología, o temperaturas en meteorología. Bóvedas enteras llenas de barajas de cartas podrían reducirse a estantes mucho más pequeños de cintas de nueve pistas.

Ver también

Notas al pie

Referencias

enlaces externos

Galería