Wie haben Programmierer damals gearbeitet, als ein Computer sehr teuer, selten und so groß wie ein Raum war?

19

Ich gehe davon aus, dass sie nicht den ganzen Tag vor einem Computer sitzen konnten, wie wir es heute tun. Wie haben sie ihr Programm geschrieben? Auf ein Stück Papier schreiben und später, wenn der Computer verfügbar ist? Wie haben sie getestet?

Louis Rhys
quelle
9
Nun ... zum einen haben sie ihren Code wirklich überprüft, bevor sie ihn an einen Compiler weitergaben. Es macht keinen Spaß, wertvolle Zeit mit einem verpassten Semikolon zu verlieren.
Mchl

Antworten:

36

Etwa 1974 würden Sie an einem bequemen Schreibtisch sitzen und Ihr Programm mit der langen Hand auf Papier schreiben. Sie würden es testen, indem Sie mit Testdaten durch den Kopf gehen. Wenn Sie zufrieden waren, dass Ihr Programm korrekt war, gingen Sie in den Lochkartenraum und transkribierten Ihr Programm auf Lochkarten, eine Zeile mit 80 Zeichen pro Karte. Sie würden auch Karten für alle Daten lochen, die Ihr Programm möglicherweise benötigt. Dann würden Sie auch ein paar unglaublich kryptische Karten in Job Control Language (JCL) stanzen, die dem Computer mitteilen, wie Ihr Programm kompiliert und ausgeführt wird und welche Eingabe- / Ausgabegeräte es verwenden würde. Dann würden Sie Ihre Karten zum 'E / A-Fenster' bringen, wo Sie sie einem Schreiber übergeben würden.

Wenn Sie an die Reihe kamen, lud der Schreiber Ihre Karten in einen Behälter und drückte einen Knopf, um den Computer anzuweisen, mit dem Lesen der Karten zu beginnen. Die Ausgabe Ihres Programms wird normalerweise an einen Zeilendrucker oder einen Trommelplotter gesendet. Wenn Ihr Programm fertig war, sammelte der Angestellte Ihre Karten und Ihre Ausdrucke und steckte sie in ein Taubenloch, in dem Sie sie abholen konnten. Sie würden die Ausgabe abholen, die Ergebnisse überprüfen und den Vorgang wiederholen. Ein vollständiger Zyklus würde zwischen 20 Minuten und 24 Stunden dauern. Sie können sich wahrscheinlich vorstellen, dass Sie nicht zufrieden waren, als Sie feststellten, dass die einzige Ausgabe eine gedruckte Nachricht des Compilers war, die Ihnen mitteilte, dass Ihr Programm einen Syntaxfehler hatte.

Sie können auch über einen Teletyp auf einen Computer zugreifen, sodass Sie tatsächlich eine interaktive Sitzung mit einem Remotecomputer durchführen können. Das Schreiben auf einem Fernschreiber war jedoch körperlich schmerzhaft (sehr steife und laute Tasten), sodass Sie Ihr Programm im Allgemeinen immer noch zuerst auf Papier geschrieben und getestet haben.

1976 wurden UNIX-Systeme und Minicomputer wie der PDP 11-70 immer häufiger. Normalerweise arbeiteten Sie in einem Raum voller Videoterminals mit 25 x 80 Zeichen. Diese wurden über serielle Leitungen mit dem Computer verbunden. Grob, aber nicht zu unähnlich von heute an einer Eingabeaufforderung zu arbeiten. Die meisten Redakteure waren damals allerdings ziemlich beschissen. Vi war eine erstaunliche Verbesserung.

Charles E. Grant
quelle
7
Auch das Nummerieren von Lochkarten war eine sehr gute Idee für Fälle wie das Ablegen des Kartenpakets.
Scharfzahn
2
Es gab eine berühmte Geschichte, in der ein Chef seinem Assistenten ein Tablett mit Lochkarten mit einer Reihe von Zufallszahlen gab. Der Assistent ließ das Tablett fallen und die Karten gingen über den ganzen Boden. Da der Assistent nicht wusste, was er sonst tun sollte, nahm er die Karten und sortierte sie ein paar Stunden lang in numerische Reihenfolge, was natürlich ihre Zufälligkeit beeinträchtigte.
Charles E. Grant
3
@ Louis Rhys: Hilft dieser Link? en.wikipedia.org/wiki/Punched_card
Sharptooth
1
Die guten alten Tage. Wenn das Keypunch eine gemeinsam genutzte Ressource war. Und wir hatten kleine rote Punktaufkleber, die wir auf unser Kartenspiel kleben konnten, um zu zeigen, dass es hohe Priorität hatte und zuerst in den Kartenbehälter gelegt wurde.
S.Lott
6
Vergessen wir nicht einmal, wie das Management dies durchgesetzt hat. Ihrer Abteilung wurde Zeit auf dem Mainframe in Rechnung gestellt.
Inkognito
3

Ich habe das Programmieren in PL / 1 1975 (auf IBM 370/168 ) als Teenager gelernt (ich wurde 1959 geboren). Ich hatte das Privileg, einen Vater bei IBM Frankreich zu haben. Sein Chef, M. Dornbush, hat ein Buch (auf Französisch) über das Programmieren in PL / 1 geschrieben.

Zu dieser Zeit bestand ein Programm (wie es von jemandem gemacht wurde, der Programmieren lernte) aus einem Paket von ein paar hundert Lochkarten. Die Antwort von Charles E.Grant beschreibt den Vorgang: Sie haben Ihr Programm zuerst auf Papier geschrieben und es sorgfältig überprüft. Dann haben Sie die Karten gelocht (auf einem IBM29- Keypunch- Computer) und schließlich das Kartenspiel in den Lochkartenleser gesteckt. Beachten Sie, dass Quellprogramme zu dieser Zeit recht klein waren (ein Programm mit mehreren tausend Anweisungen - dh Lochkarten - war ein sehr großes Programm).

Als Teenager war ich beeindruckt von der Fähigkeit des PL / 1-Checkout-Compilers, insbesondere Tippfehler zu korrigieren.

In den nächsten Jahren spielte ich mit einem alten CAB / 500- Computer und einem IBM / 1620- Computer im Wissenschaftsmuseum Palais de la Découverte in Paris (beide Computer waren alt genug, um in einem Museum zu sitzen). CAB / 500 wurde in den 1960er Jahren hergestellt, und mein Vater schrieb seinen PAF-Compiler (eine Art BASIC-Sprache), als ich noch ein Kind oder ein Kleinkind war (1958-1962).

Heute mache ich immer noch Sachen ( MELT ), die mit Compilern zu tun haben , und einer der wenigen, die behaupten können, dass er gesehen hat, wie sein Vater Compiler geschrieben hat!

Das Lustige an PAF in CAB / 500 war sein interaktiver Editor (mit einer physischen Anzahl & gelochten Bändern), der zur Vervollständigung (zu Schlüsselwörtern) fähig war. Es war ein bisschen wie der ursprüngliche IBM-PC, irgendwie ein "Personal Computer".

Das Lustige an IBM / 1620 war, dass Sie es booten mussten, indem Sie einige Ziffern auf der Tastatur eingaben, um den Monitor und den Fortran-Compiler zu laden.

Beachten Sie, dass in den 1950er Jahren einige Computer nicht einmal Lochkartenleser hatten (AFAIK war bei IBM650 und IBM7094 optional), aber ich habe sie nie gesehen.

Beachten Sie auch, dass der Zugriff auf Computer Mitte der 1970er Jahre ein riesiges Privileg war (da sie kostspielige Ausrüstungen enthielten). Vielleicht könnte das Äquivalent heute darin bestehen, Zugang zu Siliziumherstellungsmaschinen oder zu Rechenleistung im Rechenzentrumsmaßstab zu erhalten.

Basile Starynkevitch
quelle
2

Es kommt darauf an, wie weit Sie zurück wollen.

Die früheste "Programmierung" verwendete Lochkarten, die so aussahen (das ist Cobol)Dort haben sie ihren Code mit sehr wenig Interaktion von etwas Besonderem geschrieben und sie dann (wenn sie tatsächlich eine Chance hatten) in den einen Computer im Gebäude eingespeist, damit der Code eine Weile laufen und einen Ausdruck in irgendeiner Form ausspucken kann . Häufig wollten viele andere Benutzer denselben Computer verwenden, sodass Sie bis zu ein paar Tage auf Ihre Ergebnisse warten mussten (wenn diese wirklich ausgelastet waren), was in den meisten Fällen nicht völlig nutzlos war (Sie selbst) Stellen Sie sich vor, Sie müssten einen Teil Ihres Codes komplett neu schreiben und dann einen Tag warten, um ihn zu kompilieren. Sie mussten nicht annähernd so viele Eingaben überprüfen oder Usability-Tests oder andere kritische Tests durchführen, da Computer so selten waren.

Wenn der PDP und die Äquivalente häufiger wurden, schrieb ein Programmierer (insbesondere in Hochschulumgebungen) seinen Code auf Papier und buchte dann Zeit mit dem PDP, um seinen Code einzugeben und einige Male auszuführen. Sie hatten nicht viel Zeit, es sei denn, sie arbeiteten in den frühen Morgenstunden, so dass die Leute die ganze Nacht wach blieben, um ihren Code zum Laufen zu bringen, und die begrenzte Verfügbarkeit von Zeit auf den "echten" PDPs war keine Seltenheit (oder gleichwertig) führen dazu, dass mehrere Gruppen ihren eigenen Klon erstellen, um ein bisschen mehr Zeit zu haben.

Trezoid
quelle
1

Ich würde sagen, dass es damals etwas einfacher war, ein Computerprogramm zu verwenden, als heute eines zu schreiben. Angesichts dessen, dass die heutigen IDEs viel benutzerfreundlicher sind als die Benutzerschnittstellen von Computerprogrammen damals, selbst wenn sie entfernte serielle Terminals hatten. Die meisten Programme verwendeten kryptische undokumentierte Schlüsselsequenzen oder Befehle.

Meine einzige Erfahrung mit alten Computersystemen ist der alte Kodak 2610 Photo Farbdrucker. Es wurde mit einem optischen Streifenleser von seriellem TTY gebootet. Während meiner Anstellung musste ich es nach einem Stromausfall nur einmal neu starten.

Die Befehlssteuerung wurde über ein serielles VT100-Tty ausgeführt, aber die gesamte Konfiguration wurde gespeichert und mithilfe eines mechanischen Tty wiederhergestellt, mit dem Papierstreifen gelesen und beschrieben werden konnten.

Ernelli
quelle
-1

Ich erinnere mich, dass meine Mutter mir erzählte, dass sie am College programmierte (ca. 1969-1970). Sie sagte, dass sie im ersten Jahr Lochkarten benutzten, was schmerzhaft war. Im zweiten Jahr bekamen sie einen PDP-8, der ein erstaunlicher Computer war, und ich glaube, sie hatten tatsächlich ein Terminal oder zumindest ein Papierband.

Ich glaube, sie hat in Fortran und Lisp gearbeitet.

Zachary K
quelle