Warum wurden Lochkarten zum Programmieren verwendet?


8

Ich mache einen Forschungsaufsatz über die Geschichte der Programmiersprachen und habe mich gefragt, warum Programmierer ihre Programme jemals auf Lochkarten geschrieben haben. Gab es zu dem Zeitpunkt, als die Programmierer sie verwendeten, nicht bereits Computerbildschirme und Tastaturen?

Ich weiß, dass sie zuerst für die Verwendung des Jacquard-Webstuhls und zur Steuerung des gewünschten Designs erfunden wurden, aber als die Leute programmierten, warum entschieden sie sich, ihre Programme auf eine Karte zu schreiben, anstatt sie auf ein Terminal zu schreiben?

War es, weil Computer sehr teuer waren und nicht viele Menschen Zugriff darauf hatten, was dazu führte, dass Leute Programme auf Lochkarten schrieben und sie an eine Firma oder jemanden oder eine Organisation weitergaben, die eine hatte, um sie auszuführen und ihnen das Ergebnis mitzuteilen?


zuverlässiger als jeder Scanner jemals sein könnte.
Ratschenfreak

Antworten:


24

Möglicherweise haben Sie vor 1974 kein sehr gutes Bild von der Computertechnologie.

Time-Sharing-Systeme für mehrere Benutzer wurden Ende der fünfziger Jahre erfunden, waren jedoch in den gesamten 60er Jahren vergleichsweise selten. Die meisten Computer wurden im Batch-Modus ausgeführt und führten jeweils ein einzelnes Programm aus. Es gab keine Möglichkeit, mit anderen Benutzern als dem Kartenleser, dem Zeilendrucker und möglicherweise einem separaten Teletyp für den Konsolenbediener zu interagieren. Terminals, sagst du? Bis in die späten 60er Jahre waren elektronische Terminals mit Videodisplays exotische, fabelhaft teure Geräte, die sich auf Forschungseinrichtungen und Spezialaufgaben wie Flugsicherung und Landesverteidigung beschränkten . Die Computer, die interaktive Sitzungen unterstützten, verwendeten im Allgemeinen Teletypen. Das Eingeben eines Programms über einen Teletyp war genauso unangenehm wie das Stanzen auf Karten

Lassen Sie mich das Problem der Stapelverarbeitung etwas näher erläutern, da es der Art und Weise, wie die meisten Menschen Computer jetzt verwenden, so fremd ist. Es wäre sicherlich schon in den 50er Jahren möglich gewesen, ein interaktives Bearbeitungsprogramm zu schreiben, das mit einem Teletyp funktioniert hätte. Aufgrund der Stapelverarbeitung hätte das Bearbeitungsprogramm den Computer jedoch während der gesamten Zeit, in der Sie am Teletyp saßen, der Ihr Programm bearbeitet, vollständig monopolisiert. Da mehrere hundert bis mehrere tausend andere Menschen darauf gewartet hätten, ihre Programme auszuführen, wären Sie eine sehr unbeliebte Person gewesen. Sie hätten auch mehrere Dollar pro Minute in Rechnung gestellt bekommen, während Ihr Editor lief. Es war viel kostengünstiger, Ihr Programm in langer Hand zu schreiben und den endgültigen Entwurf einem Key-Punch-Operator zu übergeben. und lassen Sie sie Ihr Programm auf Lochkarten oder Klebeband übertragen. So wurde vermieden, dass die kostbaren Millisekunden der CPU darauf warten, dass Sie 'GOSUB' eingeben.

Festplatten wurden ebenfalls Ende der fünfziger Jahre erfunden, aber sie waren klein (ca. 1 MB), selten und teuer, und Sie haben den Benutzern keinen gelegentlichen Zugriff gewährt. Offensichtlich brauchten Benutzer eine Art Langzeitspeicher. Zur Auswahl standen Papierband, Lochkarten und Magnetband. Magnetband war neu und teuer. Einige Systeme verwendeten Papierbänder, aber Lochkarten waren seit 1928 eine etablierte Technologie, die in Nicht-Computer-Geschäftsmaschinen wie Tabulatoren und Sortierern verwendet wurde. Daher hatten viele Unternehmen bereits große Investitionen in Lochkartenmaschinen und -lager.


5
Selbst in den neunziger Jahren erhielt ich für ein ganzes Semester an der Universität 5 Minuten Computerzeit für meine Programmieraufgabe. Glücklicherweise verwendete der Bildschirmeditor beim Eingeben des Pascal-Codes so gut wie keine CPU-Zeit, oder es hätte nicht ausgereicht, um diese Monate zu überstehen. Jeder schrieb seine Programme auf Papier, überprüfte und korrigierte sich und andere anhand von Papierprogrammierhandbüchern, ließ das Programm dann vom Lehrassistenten eingeben, und erst dann wurde es sorgfältig eingegeben, wobei jedes Zeichen doppelt mit dem Papieroriginal überprüft wurde um sicherzustellen, dass es keine Tippfehler gab, die den Compiler zum Narren halten könnten.
Jwenting

2
Ich erinnere mich an eine Ada-Aufgabe Ende der 1980er Jahre: Am Ende jeder Sitzung wurde die von mir verwendete CPU-Zeit in $ ausgedrückt.
Mouviciel

14

Lochkarten dienten nicht nur als Eingabe- / Ausgabemedium, sondern auch als Langzeitspeicher. Sie können ein Programm mehrmals ausführen, indem Sie das Kartenspiel für dieses Programm neu laden. Es gab keine Festplatten, keine Diskettenlaufwerke, keine Magnetbänder.


14

[W] Warum haben Programmierer jemals ihre Programme auf Lochkarten geschrieben? Gab es zu dem Zeitpunkt, als die Programmierer sie verwendeten, nicht bereits Computerbildschirme und Tastaturen?

Wir verwenden jeden E / A-Mechanismus unserer Computer. In den 1960er Jahren war Papierband üblich. In den 1970er Jahren (als ich anfing zu programmieren) wurde Papierband durch Lochkarten ersetzt.

Ja, es gab Maschinen mit Teletypen und auch erstaunliche Dinge, die als Bildschirmgeräte bezeichnet wurden. Aber sie waren noch nicht im Mainstream. Beide Technologien wurden häufiger von den (Mainframe-) Computerbetreibern verwendet. selten für uns.

Auf dem Höhepunkt der Lochkarten-Ära war die IBM029 die häufigste Maschine

Siehe cs.uwaterloo.ca/40th/Chronology/1967.shtml

In diesem Bild geben die Schüler ihren eigenen Code ein. Professionelle Programmierer haben ihren Code häufiger von Hand auf Codierungsblättern geschrieben , die entsprechend der Sprache formatiert sind, in der Sie codiert haben.

Siehe en.wikipedia.org/wiki/Fortran

Wir schickten unsere Codierungsblätter an das Rechenzentrum, wo die Bediener sie (mit blendender Geschwindigkeit) eintippten und die Karten dann an den Überprüfungsbetreiber weitergaben. Sie (90% der Mitarbeiter im Rechenzentrum waren Frauen; nur ihre Manager waren Männer) gab Ihren Code erneut ein, wobei die Lochmaschine auf den Überprüfungsmodus eingestellt war. Die Maschine würde klingeln, wenn das, was sie tippte, anders war als das, was bereits auf der Karte stand. Durch zweimaliges Ausführen erreichten sie Geschwindigkeit und Genauigkeit .

Wenn Sie Ihre Karten zurückbekommen haben, haben Sie als erstes eine diagonale Linie über die Oberseite des gesamten Decks gezogen. Wehe, wenn du deine Karten vorher fallen gelassen hast! Mit gezogener Linie hatten Sie die Chance, Ihre Karten nach dem Ablegen wieder in Ordnung zu bringen.

Viele Programmbearbeitungen bestanden darin, neue Karten einzufügen, die wir normalerweise selbst stanzen würden, und vorhandene Karten an eine andere Stelle im Deck zu verschieben. Offensichtlich wäre die diagonale Linie, die Sie ursprünglich gezeichnet haben, jetzt weniger nützlich. Nach einigen Änderungen würden Sie also eine weitere Linie zeichnen. Wenn die Karten zu viele Zeilen enthielten oder auf dem Kartenleser Lesefehler auftraten (die schnellsten Leser arbeiteten mit 1200 Karten pro Minute und höher, sodass die Karten jedes Mal, wenn sie gelesen wurden, ein Pochen dauerten), schickten Sie Ihr Deck zurück zum zu duplizierenden Rechenzentrum.

Kleine Änderungen können mit einem Handschlag durchgeführt werden.

Geben Sie hier die Bildbeschreibung ein

Mit der Erfahrung würden Sie den Hollerith-Code für jedes Zeichen lernen und könnten so schnell wie mit einer Tastatur schlagen.

Wenn niemand Senior zuschaute, als Sie einen Fehler machten, konnten Sie das falsche Loch mit einem "Chad" füllen, der aus der Karte gestanzt worden war, und ihn mit Ihrem Miniaturbild reiben, sodass seine Kanten mit dem Rest der Karte in Eingriff stehen. Solche Patches lösten sich oft während des Lesevorgangs, funktionierten jedoch oft mindestens einmal. Wenn der Tschad während des Lesevorgangs herauskommt, führt dies zu einem "Absturz", und die folgenden Karten werden bis zur Unkenntlichkeit zerquetscht und zerknittert. Der Kartenleser würde aus der Ausrichtung geraten und ein Computeringenieur müsste ihn reparieren.

In den späten 1970er Jahren wurde es üblicher, Ihr Programm auf Magnetband zu laden. Das Band enthielt Ihren Code in Datensätzen mit fester Länge von 80 Zeichen, und wir hatten "Bibliothekar" -Programme, um die Bearbeitung durchzuführen. Soweit ich mich erinnere, hieß einer eigentlich Bibliothekar . Sie würden ein anderes Kartenspiel codieren, um die Bearbeitung durchzuführen, oder, wie es immer häufiger wurde, einen Teletyp oder einen Bildschirm verwenden, um Ihre Bearbeitung online durchzuführen. Beeindruckend!

Die Syntax für diese Bibliothekar-Editoren war der IBM-PC Edlin- Syntax sehr ähnlich .

Zusammenfassend verwenden wir die verfügbaren Tools. Die neueste Technologie ist immer die teuerste und es kann eine Weile dauern, bis jeder Zugriff darauf hat. Es ist auch eine Frage der Bequemlichkeit und der Fähigkeiten. Ich schreibe dies auf meinem Laptop, aber wenn ich eine E-Mail auf meinem Smartphone schreibe, verwende ich die "Swype" -Eingabe, bei der mein Finger ein seltsames Zick-Zack-Muster über einem Tastaturbild erzeugt und die Software herausfindet, welches Wort ich beabsichtige.

Viel Glück mit Ihrem Aufsatz.


9

Das Gewicht der Geschichte ...

Kehren wir zum Jacquard-Webstuhl zurück , einem mechanischen Webstuhl, der vor über 200 Jahren erfunden wurde.

Der Webstuhl wurde durch eine "Kartenkette" gesteuert, eine Anzahl von Lochkarten, die zu einer fortlaufenden Sequenz zusammengeschnürt waren.

Jacquard Webstuhlkarten

Dies war eine bekannte Technologie, und später verwendete das US Census Bureau eine Zählmaschine - die Hollerith-Maschine, um Zensusdaten zu zählen. Welches wurde mit Lochkarten gesammelt.

Der Tabulator von Herman Hollerith bestand aus elektrisch betriebenen Komponenten, die Volkszählungsdaten durch "Lesen" von Löchern auf Lochkarten erfassten und verarbeiteten

Hollerith Kartenlesegerät

Diese frühen Zählmaschinen entwickelten sich später zu Computern - aber die Eingabemethode blieb dieselbe.

Es gab Bildschirme, Tastaturen (Schreibmaschinen), aber die Idee, diese an einen Computer anzuschließen? Das hat einige Zeit gedauert.

Darüber hinaus waren Lochkarten nicht nur das laufende Programm, sondern auch die eigentlichen Daten - das Speichermedium. Es gab keine Festplatten, kein Magnetband.


5

Ich bin so alt, dass ich an der Uni Lochkarten (und "bearbeitbare" Mark Sense-Karten - Bleistift zum Markieren + Radiergummi zum Bearbeiten!) Verwendet habe, und wir haben das Kartenspiel als unsere Aufgabe eingereicht. Es war keine Tastatur oder ein Terminal in Sicht. Und es ist noch nicht so lange her: die 80er Jahre.

Woher kommt Ihrer Meinung nach die Verwendung des Begriffs " Daten eingeben " (obwohl, siehe unten)? Es gab eine Berufsbezeichnung "Key Punch Operator" - im Wesentlichen eine Schreibkraft, die an einer Kartenstanzmaschine saß und Code / Daten "lochte".

IBM bezeichnet ein JCL-Programm immer noch als "Deck", und jede Zeile enthält maximal 80 Zeichen - warum? Da eine Standard-Lochkarte 80 Spalten hatte und auf ihren Originalcomputern, legte der Bediener ein Kartenspiel (ein Programm) in den Eingabebehälter, um es auszuführen. Das Betriebssystem (MVS) war (aufgrund des Versprechens von IBM zur Abwärtskompatibilität) aufgrund einer alten Hardwarebeschränkung gesperrt.


F: Was ist der Unterschied zwischen einem Schlagzeuger und einem Drumcomputer?

A: Mit einer Drum - Maschine, nur die haben punch die Informationen in einmal.


1
+1 für das Wissen, wovon du sprichst. Wenn ich dir noch +1 für den Witz hätte geben können, hätte ich es getan!
John R. Strohm

4

Die Computerzeit war damals extrem teuer, daher war alles, was entladen werden konnte, normalerweise so.


Okay, das macht Sinn.

Dies scheint nichts Wesentliches über Punkte zu bieten, die in anderen 7 Antworten gemacht und erklärt wurden
Mücke

@gnat beachte, dass diese Antwort vor den anderen existierte.
Dave

Ich habe das vor dem Kommentieren bemerkt (überprüft mit Sortieren der Antworten nach ältesten). Mir ist auch aufgefallen, dass es sich eher wie ein Kommentar liest (siehe Antworten ) ... und dass es gegen den oben gezeigten Hinweis verstößt: "Wir suchen nach langen Antworten, die eine Erklärung und einen Kontext liefern. Nicht nur Geben Sie eine einzeilige Antwort. Erklären Sie, warum Ihre Antwort richtig ist, idealerweise mit Zitaten. Antworten, die keine Erklärungen enthalten, können entfernt werden. "
Mücke

@gnat Diese Frage wurde ursprünglich auf Stackoverflow gestellt und wurde (zusammen mit meiner Antwort) hierher verschoben. Verzeihen Sie mir also meine Unkenntnis der Regeln auf der Website, auf der ich nicht
gepostet habe

3

Computer haben offensichtlich nicht so angefangen, wie Sie sie heute sehen. Sie waren mechanischer. Eine Lochkarte wird verwendet, um Binärzahlen mechanisch darzustellen. Ein mechanischer Lesekopf, der sich über die Lochkarte bewegt, liest ein "Loch" oder ein "kein Loch". Diese Kombinationen von Löchern und keinen Löchern können verwendet werden, um das Verhalten einer mechanischen Vorrichtung zu steuern. Dort haben wir ein Programm, um etwas zu steuern!


aber warum wurden Sprachen wie FORTRAN auf Lochkarten verwendet? Ich vermute nur, weil es wahrscheinlich teuer war, Zeit für die Nutzung eines Computers zu bekommen, und dies würde die Kosten senken?

1

Magnetband wurde erstmals 1951 zur Datenspeicherung verwendet. 1956 wurden Festplatten eingeführt. 1971 wurden Diskettenlaufwerke eingeführt. Die Lochkarte hatte bei all diesen Speichermedien einen erheblichen Vorsprung.

In den 1970er Jahren untersuchten IT-Organisationen zumindest eine Abkehr von Lochkarten. In den späten 1980er oder frühen 1990er Jahren war der Übergang so gut wie abgeschlossen.

Lochkarten wurden aus mindestens mehreren Gründen so lange festgehalten, wie sie es taten, als andere effizientere Speichermedien verfügbar waren.

1) Sie waren in Gebrauch, und Trägheit ist schwer zu überwinden. Mit anderen Worten: "Wir haben es immer so gemacht."

2) Kosten. Ein 1-TB-SATA-Laufwerk ist heute für etwas mehr als 50 US-Dollar erhältlich, aber eine Variation des Moore-Gesetzes hat die Kosten im Laufe der Zeit gesenkt. Zum Vergleich: Ein 5-MB-Laufwerk Seagate ST-506 aus dem Jahr 1980 kostete 1.500 US-Dollar (heute etwa 4.300 US-Dollar).


1

In den frühen Tagen befand sich das Computersystem in einem Raum, der für Programmierer nicht zugänglich war, und die meisten Systeme konnten jeweils nur ein Programm ausführen (Stapelverarbeitung). Um Ihr Programm ausführen zu lassen, haben Sie es per Lochkarte oder Klebeband eingereicht und sind später zurückgekommen, um Ihre Ergebnisse zu erhalten, die normalerweise ein Ausdruck waren. Programmierer hatten selten direkten Zugriff auf die "Konsole", und wenn dies der Fall war, sollte ein Programm debuggt und nicht geschrieben werden.

Mit dem Aufkommen des präventiven Multitasking um 1965 (siehe Multics ) konnten viele Benutzer gleichzeitig über "Terminals" unterstützt werden. Am Anfang waren diese Terminals teletypähnliche Maschinen und später CRT-Bildschirme mit Tastaturen. Diese Systeme waren erst in den frühen 1970er Jahren weit verbreitet.

Mein erster Computer hatte keine Festplatte. Um ein Programm zu kompilieren, wurde der Compiler von Lochkarten in den Speicher eingelesen und ausgeführt. Es las Ihren Quellcode von Lochkarten und lochte die kompilierte Version. Diese Version wurde hinter ein Ladeprogramm gestellt und eingelesen. Erst dann wurde Ihr Programm ausgeführt. Oh die guten alten Tage;)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.