Come funzionavano i programmatori quando un computer era molto costoso, raro, grande quanto una stanza?


19

Presumo che non siano stati in grado di sedersi davanti a un computer per tutto il giorno come facciamo oggi. Quindi come hanno scritto il loro programma? Su un pezzo di carta e digitarlo in un secondo momento quando il computer è disponibile? Come hanno fatto i loro test?


9
Bene ... per prima cosa hanno davvero rivisto il loro codice, prima di inviarlo a un compilatore. Non è divertente perdere tempo prezioso con il punto e virgola perso.
Mchl

Risposte:


36

Intorno al 1974, ti sedevi a una comoda scrivania e scrivevi il tuo programma a lungo sulla carta. Lo testeresti percorrendolo nella tua testa usando i dati del test. Quando eri sicuro che il tuo programma fosse corretto, andavi nella stanza delle schede perforate e trascrivevi il programma su schede perforate, una riga di 80 caratteri per scheda. Punzoneresti anche le schede per tutti i dati di cui il tuo programma potrebbe aver bisogno. Quindi punteresti anche alcune carte incredibilmente criptiche in Job Control Language (JCL) che direbbero al computer come compilare ed eseguire il tuo programma e quali dispositivi di input / output userebbe. Quindi porteresti le tue carte nella "finestra IO", dove le passeresti a un impiegato.

Quando arrivava il tuo turno, l'impiegato caricava le tue carte in una tramoggia e premeva un pulsante per dire al computer di iniziare a leggerle. L'output del tuo programma andrebbe generalmente su una stampante di linea o un plotter a tamburo. Al termine del programma, l'impiegato raccoglieva le tue carte e il tuo output cartaceo e le metteva in una buca per piccioni dove potevi raccoglierle. Raccogli l'output, rivedi i resilits e ripeti il ​​processo. Ci vorrebbe da 20 minuti a 24 ore per un ciclo completo. Probabilmente puoi immaginare di non essere felice quando hai scoperto che l'unico output era un messaggio stampato del compilatore che ti diceva che il tuo programma aveva un errore di sintassi.

Potresti anche avere accesso a un computer tramite un tipo di telefono, quindi potresti effettivamente avere una sessione interattiva con un computer remoto. Tuttavia, digitare su un tipo di telefono è stato fisicamente doloroso (tasti molto rigidi e rumorosi), quindi in genere hai ancora scritto e testato il tuo programma prima su carta.

Nel 1976 i sistemi UNIX e i mini-computer come il PDP 11-70 stavano diventando più comuni. Di solito lavoravi in ​​una stanza piena di terminali video con display a 25x80 caratteri. Questi erano collegati al computer tramite linee seriali. Crudo, ma non troppo dissimile dal lavorare al prompt dei comandi oggi. La maggior parte dei redattori di allora era piuttosto schifosa. Vi è stato un miglioramento straordinario.


7
Anche numerare le schede perforate è stata un'ottima idea per casi come far cadere il mazzo di carte.
sharptooth,

2
C'era una storia famosa su un capo che dava al suo assistente un vassoio di schede perforate che contenevano una serie di numeri casuali. L'assistente lasciò cadere il vassoio e le carte andarono su tutto il pavimento. Non sapendo cos'altro fare, l'assistente raccolse le carte e passò un paio d'ore a ordinarle in ordine numerico, il che ovviamente rovinò la loro casualità.
Charles E. Grant,

3
@Louis Rhys: questo link ti aiuterà? en.wikipedia.org/wiki/Punched_card
sharptooth

1
I bei vecchi tempi. Quando il keypunch era una risorsa condivisa. E avevamo piccoli adesivi con punti rossi che potevamo mettere sul nostro mazzo di carte per dimostrare che era una priorità assoluta e che sarebbero stati inseriti per primi nel contenitore delle carte.
S. Lott,

6
Non dimentichiamoci nemmeno dei modi in cui la direzione lo ha imposto. Il tuo dipartimento è stato fatturato per tempo sul mainframe.
Incognito,

3

Ho imparato a programmare in PL / 1 nel 1975 (su IBM 370/168 ), da adolescente (sono nato nel 1959). Ho avuto il privilegio di avere un padre che lavorava in IBM France. Il suo capo, M. Dornbush, ha scritto un libro (in francese) sulla programmazione in PL / 1.

A quel tempo, un programma (come fatto da qualcuno che impara a programmare) era un pacchetto di alcune centinaia di schede perforate. La risposta di Charles E.Grant descrive il processo: hai scritto prima il tuo programma su carta e l'hai controllato abbastanza attentamente. Quindi hai punzonato le carte (su una macchina per keypunch IBM29 ) e infine hai inserito il mazzo di carte nel lettore di schede perforate. Si noti che a quel tempo i programmi sorgente erano piuttosto piccoli (un programma di diverse migliaia di affermazioni - ovvero schede perforate - era un programma molto grande).

Da adolescente, sono rimasto impressionato dalla capacità del compilatore di checkout PL / 1, in particolare di suggerire correzioni sui refusi.

Negli anni successivi, ho suonato con un vecchio computer CAB / 500 e un computer IBM / 1620 al museo della scienza del Palais de la Découverte a Parigi (entrambi i computer erano abbastanza grandi per sedersi in un museo). CAB / 500 fu prodotto negli anni '60 e mio padre scrisse il suo compilatore PAF (una sorta di linguaggio BASIC) quando ero un bambino o un bambino (1958-1962).

Oggi sto ancora facendo cose ( MELT ) relative ai compilatori e uno dei pochi che può affermare di aver visto suo padre scrivere compilatori!

La cosa divertente con PAF su CAB / 500 era il suo editor interattivo (con un nastro fisico teso e perforato) in grado di completarsi (con parole chiave). Era un po 'come il PC IBM originale, in qualche modo un "personal computer".

La cosa divertente con IBM / 1620 era che dovevi avviarlo inserendo alcune cifre sulla tastiera per caricare il monitor e il compilatore Fortran.

Si noti che negli anni '50 alcuni computer non avevano nemmeno i lettori di schede perforate (AFAIK era opzionale su IBM650 e IBM7094), ma non li ho mai visti.

Si noti inoltre che l'accesso ai computer a metà degli anni '70 rappresentava un enorme privilegio (perché erano apparecchiature costose). Forse l'equivalente oggi potrebbe essere quello di ottenere l'accesso alle macchine per la produzione di silicio o alla potenza di elaborazione su scala di data center.


2

Dipende da quanto lontano vuoi andare.

La prima "Programmazione" utilizzava schede perforate che assomigliavano a Questo (Questo è cobol)dove hanno scritto il loro codice con una minima interazione di qualcosa di particolarmente elettrico e poi li hanno alimentati (quando ne hanno effettivamente avuto la possibilità) nell'unico computer nell'edificio per far funzionare il codice per un po 'e sputare una stampa da qualche forma . Spesso c'erano molte altre persone che volevano utilizzare lo stesso computer, quindi dovresti aspettare ovunque fino a un paio di giorni (se fosse davvero occupato) per i tuoi risultati, che più spesso non sarebbero completamente inutili (tu pensare che ottenere un errore di sintassi ora possa essere frustrante. Immagina di dover riscrivere completamente una sezione del tuo codice e quindi attendere un giorno per compilarlo). Non hanno dovuto controllare gli input quasi altrettanto, o fare test di usabilità o uno qualsiasi degli altri test critici da allora, perché i computer erano così scarsi,

Quando il PDP e gli equivalenti diventavano più comuni, un programmatore (specialmente negli ambienti universitari) scriveva il proprio codice su carta, quindi prenotava il tempo con il PDP per digitare il codice ed eseguirlo alcune volte. Non passavano molto tempo a meno che non lavorassero nelle piccole ore del mattino, quindi le persone che stavano svegli tutta la notte solo per far funzionare il loro codice non erano rare, e la limitata disponibilità di tempo sui "veri" PDP (o equivalente) portano a un numero di gruppi che costruiscono il proprio clone per ottenere un po 'più di tempo.


1

Direi che a quei tempi usare effettivamente un programma per computer poteva essere leggermente più facile che scriverne uno oggi. Dato che l'IDE di oggi è molto più intuitivo rispetto alle interfacce utente dei programmi per computer di allora, anche quando avevano terminali seriali remoti. La maggior parte dei programmi utilizzava sequenze di tasti o comandi criptici privi di documenti.

La mia unica esperienza con antichi sistemi informatici è la vecchia stampante a colori Kodak 2610 Photo. Si è avviato da TTY seriale utilizzando un lettore di strisce ottiche. Durante il mio lavoro, ho dovuto riavviarlo solo una volta dopo un guasto.

Il controllo dei comandi è stato eseguito tramite un seriale vt100 tty, ma tutta la configurazione è stata salvata e ripristinata utilizzando un tty meccanico in grado di leggere e scrivere strisce di carta.


-1

Ricordo che mia madre mi disse che stava programmando al college (circa 1969-1970). Disse che il primo anno usavano le schede perforate, il che era doloroso. Il 2 ° anno hanno ottenuto un PDP-8, che era un computer fantastico e penso che in realtà avevano un terminale, o almeno un nastro di carta.

Penso che stesse lavorando in fortran e lisp.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.