¿Cómo funcionaban los programadores cuando una computadora era muy cara, rara, tan grande como una habitación?

19

Supongo que no pudieron sentarse frente a una computadora durante todo el día como lo hacemos hoy. Entonces, ¿cómo escribieron su programa? ¿En una hoja de papel y escríbala más tarde cuando la computadora esté disponible? ¿Cómo hicieron sus pruebas?

Louis Rhys
fuente
99
Bueno ... por una cosa, realmente revisaron su código, antes de enviarlo a un compilador. No es divertido perder un tiempo precioso en punto y coma perdido.
Mchl

Respuestas:

36

Alrededor de 1974, te sentarías en un escritorio conveniente y escribirías tu programa en papel. Lo probarías caminando por él en tu cabeza usando datos de prueba. Cuando estuviera satisfecho de que su programa era correcto, iría a la sala de tarjetas perforadas y transcribiría su programa en tarjetas perforadas, una línea de 80 caracteres por tarjeta. También perforaría tarjetas para cualquier información que su programa pueda necesitar. Luego, también perforaría algunas tarjetas increíblemente crípticas en Job Control Language (JCL) que le dirían a la computadora cómo compilar y ejecutar su programa, y ​​qué dispositivos de entrada / salida usaría. Luego llevaría sus tarjetas a la 'Ventana de E / S', donde las entregaría a un empleado.

Cuando llega tu turno, el empleado carga tus tarjetas en una tolva y presiona un botón para decirle a la computadora que empiece a leerlas. La salida de su programa generalmente iría a una impresora de línea o un trazador de batería. Cuando finalizara su programa, el empleado recogería sus tarjetas y su copia impresa y las colocaría en un palomar donde podría recogerlas. Recogería la salida, revisaría los resultados y repetiría el proceso. Tomaría entre 20 minutos y 24 horas para un ciclo completo. Probablemente pueda imaginar que no estaba contento cuando descubrió que el único resultado era un mensaje impreso del compilador que le decía que su programa tenía un error de sintaxis.

También puede tener acceso a una computadora a través de un teletipo, por lo que en realidad podría tener una sesión interactiva con una computadora remota. Sin embargo, escribir en un teletipo fue físicamente doloroso (teclas muy rígidas y ruidosas), por lo que generalmente todavía escribió y probó su programa en papel primero.

En 1976, los sistemas UNIX y las mini computadoras como el PDP 11-70 se estaban volviendo más comunes. Por lo general, trabajaba en una habitación llena de terminales de video con pantallas de 25x80 caracteres. Estos fueron conectados a la computadora a través de líneas seriales. Crudo, pero no muy diferente de trabajar en un símbolo del sistema hoy. Sin embargo, la mayoría de los editores en ese entonces eran bastante malos. Vi fue una mejora asombrosa.

Charles E. Grant
fuente
77
También numerar tarjetas perforadas fue una muy buena idea para casos como dejar caer el paquete de tarjetas.
Sharptooth
2
Había una historia famosa sobre un jefe que le daba a su asistente una bandeja con tarjetas perforadas que contenía un conjunto de números aleatorios. El asistente dejó caer la bandeja, y las cartas se fueron por todo el piso. Sin saber qué más hacer, el asistente recogió las tarjetas y pasó un par de horas clasificándolas en orden numérico, lo que, por supuesto, arruinó su aleatoriedad.
Charles E. Grant
3
@ Louis Rhys: ¿Te ayudará este enlace? en.wikipedia.org/wiki/Punched_card
sharptooth
1
Los buenos viejos tiempos. Cuando el golpe de teclado era un recurso compartido. Y teníamos pequeños adhesivos de puntos rojos que podíamos poner en nuestro mazo de cartas para mostrar que era de alta prioridad y que se colocarían primero en la tolva de tarjetas.
S.Lott
66
Ni siquiera nos olvidemos de las formas en que la gerencia hizo cumplir esto. Su departamento recibió una factura por tiempo en el mainframe.
Incognito
3

Aprendí programación en PL / 1 en 1975 (en IBM 370/168 ), cuando era adolescente (nací en 1959). Tuve el privilegio de tener un padre trabajando en IBM Francia. Su jefe, M. Dornbush, escribió un libro (en francés) sobre programación en PL / 1.

En ese momento, un programa (como lo hizo alguien que estaba aprendiendo programación) era un paquete de unos cientos de tarjetas perforadas. La respuesta de Charles E. Garant describe el proceso: primero escribió su programa en papel y lo revisó con mucho cuidado. Luego perforaste las tarjetas (en una máquina de teclado de IBM29 ), y finalmente pusiste la baraja en el lector de tarjetas perforadas. Tenga en cuenta que en ese momento los programas de origen eran bastante pequeños (un programa de varios miles de declaraciones, es decir, tarjetas perforadas) era un programa muy grande).

Cuando era adolescente, me impresionó la capacidad del compilador de pago PL / 1, en particular para sugerir correcciones en errores tipográficos.

En los años siguientes, jugué con una vieja computadora CAB / 500 y una computadora IBM / 1620 en el museo de ciencias Palais de la Découverte en París (ambas computadoras tenían la edad suficiente para sentarse en un museo). CAB / 500 fue producido en la década de 1960, y mi padre escribió su compilador PAF (una especie de lenguaje BÁSICO) cuando era un bebé o un niño pequeño (1958-1962).

¡Hoy, todavía estoy haciendo cosas ( MELT ) relacionadas con compiladores, y uno de los pocos que puede afirmar que vio a su propio padre escribiendo compiladores!

Lo divertido con PAF en CAB / 500 fue su editor interactivo (con un tty físico y cintas perforadas) capaz de completarse (en palabras clave). Era un poco como la PC original de IBM, de alguna manera una "computadora personal".

Lo divertido con IBM / 1620 fue que tenía que arrancarlo ingresando unos pocos dígitos en el teclado para cargar el monitor y el compilador Fortran.

Tenga en cuenta que en la década de 1950 algunas computadoras ni siquiera tenían lectores de tarjetas perforadas (AFAIK era opcional en IBM650 e IBM7094), pero nunca los vi.

Observe también que el acceso a las computadoras a mediados de la década de 1970 era un gran privilegio (porque eran equipos costosos). Quizás el equivalente hoy sea tener acceso a máquinas de fabricación de silicio, o al poder de cómputo a escala del centro de datos.

Basile Starynkevitch
fuente
2

Depende de qué tan lejos quieras ir.

La primera "Programación" usaba tarjetas perforadas que se veían así (Eso es cobol)donde escribieron su código con muy poca interacción de algo particularmente eléctrico y luego los introdujeron (cuando realmente tuvieron la oportunidad) en la computadora en el edificio para que el código se ejecutara por un tiempo y escupiera una impresión de alguna forma . A menudo había muchas otras personas que querían usar la misma computadora, por lo que tendrías que esperar hasta un par de días (si estaba realmente ocupado) para obtener tus resultados, lo que a menudo no sería completamente inútil (tú pensar que obtener un error de sintaxis ahora puede ser frustrante. Imagínese si tuviera que volver a escribir completamente una sección de su código y luego esperar un día para compilarlo). No tuvieron que verificar la entrada casi tanto, ni hacer pruebas de usabilidad ni ninguna de las otras pruebas críticas desde entonces, porque las computadoras eran tan escasas que '

Cuando el PDP y sus equivalentes se volvieron más comunes, un programador (especialmente en entornos universitarios) escribiría su código en papel y luego reservaría tiempo con el PDP para escribir su código y ejecutarlo varias veces. No tenían mucho tiempo a menos que estuvieran trabajando en las primeras horas de la mañana, por lo que las personas que permanecían despiertas toda la noche solo para que su código funcionara no era raro, y la disponibilidad limitada de tiempo en los PDP "reales" (o equivalente) llevan a varios grupos a construir su propio clon para tener un poco más de tiempo.

Trezoide
fuente
1

Diría que en aquellos días, usar un programa de computadora podría ser un poco más fácil que escribir uno hoy. Dado que los IDE de hoy en día son mucho más fáciles de usar que las interfaces de usuario de los programas de computadora en ese entonces, incluso cuando tenían terminales seriales remotos. La mayoría de los programas utilizan secuencias de teclas o comandos crípticos indocumentados.

Mi única experiencia con sistemas informáticos antiguos es la antigua impresora fotográfica en color Kodak 2610. Se inició desde TTY en serie utilizando un lector de banda óptica. Durante mi empleo solo tuve que reiniciarlo una vez después de una falla de energía.

El control del comando se realizó a través de un tty vt100 en serie, pero toda la configuración se guardó y restauró utilizando un tty mecánico que podía leer y escribir franjas de papel.

Ernelli
fuente
-1

Recuerdo que mi madre me dijo que estaba programando en la universidad (circa 1969-1970). Dijo que el primer año que usaron tarjetas perforadas, lo cual fue doloroso. El segundo año obtuvieron una PDP-8, que era una computadora increíble y creo que en realidad tenían una terminal, o al menos una cinta de papel.

Creo que ella estaba trabajando en Fortran y Lisp.

Zachary K
fuente