Lochkarte
Eine Lochkarte ist im heutigen Sinne ein mechanisches Speichermedium für Daten.
Lochkarten und lochkartenähnliche Systeme werden ab etwa der Mitte des 18. Jahrhunderts im Bereich der Automatisierung und der Datenverarbeitung verwendet. Sie wurden meist eingesetzt um wiederkehrende Abläufe rationell zu wiederholen. Es wurden unter anderem lochkartengesteuerte Webstühle gebaut, wobei die ersten Lochkarten hier hölzerne Plättchen waren. Drehorgeln werden oftmals noch heute mit Lochkarten gesteuert, aber auch andere automatische und teilautomatische Musikinstrumente bedienen sich dieses Verfahrens. Charles Babbage sah für seine Analytical Engine eine Lochkartensteuerung vor. Frühe Datenverarbeitungs- und -registrieranlagen sind ohne Lochkarten nicht zu denken.
Die Ursprünge der Lochkarte gehen auf die Funktionsweise von Spieldosen und ähnlichen Geräten zurück, in denen eine sich drehende Walze oder Scheibe mit darauf angebrachten Stiften oder Löchern die automatisierte Wiedergabe von Musikstücken ermöglichte.
Das Grundprinzip der Datenspeicherung einer Lochkarte ist, dass die für eine spezielle Funktion eines Gerätes relevanten Daten in geeigneter Form codiert werden. Üblicherweise werden in ein aus dünnem Karton bestehenden Speichermedium Löcher gestanzt, deren Position vom jeweiligen Code vorgegeben wird. Um die Funktion dann zu einem beliebigen Zeitpunkt auszuführen, werden die Löcher des Speichermediums durch ein Lesegerät abgelesen und durch eine geeignete Vorrichtung passend decodiert, so dass sie der Funktion zugeordnet werden können.
In der damaligen Zeit boten diese mechanischen und später auch elektromechanischen Speichersysteme, die Daten durch Löcher in einem externen Medium aus Papier, Karton oder ähnlichem speicherten, im Gegensatz zu Systemen wie etwa der Stiftwalze, die wirtschaftlichste Möglichkeit, codierte Daten schnell zu vervielfältigen und mit einfachen Mitteln einen neuen Code zu schreiben.
Das später im Computerbereich weit verbreitete Lochkartenformat geht auf die US-amerikanischen Volkszählung 1890 zurück, zu der Herman Hollerith ein auf Lochkarten basierendes Verfahren einschliesslich der zugehörigen Stanz- und Auswertemaschinen entwickelte. Die Lochkarte wurde nach ihrer Massenpremiere, der Volkszählung, vor allem in mechanischen und elektromechanischen Rechen- und Sortiermaschinen eingesetzt. Es dauerte allerdings bis 1928 bevor die Lochkarte ihr endgültiges, standardisiertes Format bekam. Nach ihrem Erfinder war für diese Art Lochkarten auch die Bezeichnung Hollerithkarte üblich.
Eine Hollerith-Lochkarte ist ein rechteckiges, etwa 18,7 cm × 8,3 cm großes Stück 0,17 mm dünner Karton in das in vorgegebene Positionen spaltenweise Löcher gestanzt werden um eine Folge von Zeichen (heute würde man sagen: eine Zeile Text) zu codieren.
Als im 20. Jahrhundert Computer entwickelt wurden, boten sich die schon etablierten Lochkarten als Medium zur Programmeingabe und Datenspeicherung an. Bereits Konrad Zuses erster Rechner, die Z1, wurde mit Hilfe von Code, der in einen Lochstreifen bestehend aus einem 35-mm-Film gestanzt wurde, gesteuert. Später wurden für Computer jedoch fast ausschließlich Lochkarten nach Hollerith verwendet.
Das ursprüngliche Code-Format für Hollerith-Lochkarten sah nur 240 Positionen für Löcher vor, es wurde jedoch bald auf 45 Spalten mit je 12 Positionen erweitert. Dies entsprach 45 Zeichen zu je 12 bit (später wurde eine 6-bit Codierung erfunden die es erlaubte 90 Zeichen zu speichern). IBM ließ sich 1928 ein 80-Spalten-Format mit rechteckigen Löchern patentieren, das die weiteste Verbreitung fand. Dabei entsprach eine Karte einer Zeile Text und eine Spalte eine Karte einer Zeichenposition der Zeile. Eine Lochkarte hatte somit ein Fassungsvermögen von etwa 80 Byte. (Eine heute übliche 80 GB Festplatte kann somit den Inhalt einer Milliarde Lochkarten speichern. Das würde einem Lochkartenstapel von 170 km Höhe entsprechen.)
Die feste Ausrichtung an den Spalten der Lochkarten hatte Auswirkung auf die Syntax mancher Programmiersprachen. Bei alten Fortran-Varianten waren die ersten acht Spalten für ein numerisches Label vorgesehen. Bei zügiger Durchsicht der Lochkarten konnte sehr einfach erkannt werden, wenn ein Label oder der Quellcode falsch positioniert waren. Die Spalten 73 bis 80 waren bei Fortran für Kommentare reserviert. Hier lochte man oft eine fortlaufende Nummer, damit man einen heruntergefallenen Lochkartenstapel leichter sortieren konnte. Auch die Datenkarten hatten normalerweise ein festes Format wobei ein Datensatz einer Karte entsprach und dort die Eingabedaten wie beispielweise Betrag, Kundennummer und Datum festen Bereichen der Spalten zugeordnet waren.
Um Lochkarten zu beschreiben bzw. zu stanzen, gab es Lochkartenstanzer. Diese Geräte hatten eine Schreibmaschinentastatur und eine Zuführvorrichtung für eine Karte. Wegen der häufigen Tippfehler gab es eine Kopiertaste, mit der die gerade gestanzte Karte bis zu einer gewünschten Spalte kopiert werden konnte. Diese Funktion wurde später von Betriebssystemen mit Terminalgesteuerter Eingabe übernommen um eine editierte Zeile auf einem Fernschreiber oder später auch Monitor neu auszugeben. Die zuletzt eingegebene Zeile kann noch heute z. B. bei der Windows Eingabeaufforderung zeichenweise durch die Cusor-rechts-Taste kopiert werden.
Lochkartenstanzer konnten zur Datenausgabe von Programmen wie Drucker angesteuert werden. Neuere Geräte druckten zusätzlich zum gestanzten Code den Inhalt als Klartext mit auf die Karten, erfahrene Programmierer konnten die Lochkarten auch ohne weitere Hilfsmittel, einfach nur durch Betrachtung der Lochpositionen, lesen.
Eingelesen wurden die Lochkarten durch optische oder mechanische Lesegeräte. Der Lochkartenstapel wurde in ein Lesefach eingelegt und mit einem Gewicht beschwert. Auf Knopfdruck wurde das Gerät angeschaltet. Durch ein Gebläse wurde der Stapel aufgelockert und eine Karte nach der anderen wurde eingelesen. Der Lesevorgang selbst erfolgte entweder durch mechanisches Abtasten mit Stiften oder durch Lichtschranken mit Fotozellen.
Die damaligen Programme waren nicht interaktiv; ein Programm wurde gestartet, las Eingabedaten, verarbeitete sie und gab bestimmte Ergebnisdaten wieder aus. Diese Arbeitsweise bedingte drei Sätze von Lochkarten: Einen Satz für die Eingabedaten, einen Satz für das Verarbeitungsprogramm, und einen Satz Ausgabedaten die vom Programm durch die Verarbeitung der Eingabedaten erzeugt wurden. Die englische Bezeichnung für einen Kartenstapel ist Batch und der ganze Prozess der Verarbeitung sowie auch der Programmstapel war ein Job. Daraus wurden die Begriffe Batchjob, Batchdatei und auch die Dateiendung bat für eine DOS-Stapelverarbeitungsdatei.
Die Einführung von Magnetbändern als schnellen und transportablen Massenspeichern verdrängte, beginnend Mitte der 1960er Jahre, langsam die Lochkarte als Speichermedium für Computer. Eine in den späten 1960er Jahren von IBM vorgestellte kleinere Karte höherer Kapazität konnte sich nicht mehr durchsetzen.
Lochkartensysteme fanden wegen ihrer Robustheit aber auch andere Anwendungsbereiche, so zum Beispiel für Schlüsselkarten und Ausweiskarten. Teilweise wurden die Lochkarten dabei in transparenten oder durchscheinenden Kunststoff eingeschweisst. Mittlerweilse sind auch diese Lochkarten wieder weitgehend durch Chipkarten und ähnliche Systeme ersetzt worden.
Lochkarten im Hollerith-Format gibt es heute noch bei einigen mechanischen Stempeluhren. Sie finden auch noch in US-amerikanischenen Wahlautomaten Verwendung, deren Zuverlässigkeit jedoch bei der Wahl von George W. Bush zum Präsidenten der USA stark in die Kritik geraten ist. In der Computertechnik sind Lochkarten heutzutage nicht mehr von Bedeutung.
Eine historische Randbemerkung: Die von Hollerith gegründete Firma "Tabulating Machine Company" wurde später in IBM umbenannt. (Deren Chef auf einem Meeting, auf dem man sich über die Größe der Lochkarte nicht einigen konnte, schließlich eine 10-Dollar-Note auf den Tisch knallte, sagte: "so wird sie", und den Raum verließ.)
siehe auch: Lochstreifen
Ursprung
Hollerith-Lochkarte
Arbeitsweise
Spätere Geschichte
Weblinks