Vor 60 Jahren: Das erste Computerprogramm startet

Wissen | Hintergrund

In 2 Minuten und 35 Sekunden berechneten 3500 Röhren die Quadrate aller Zahlen von 0 bis 99 auf dem ersten vollkommen frei programmierbaren Digitalcomputer.

1, 4, 9, 16, 25, 36 ... Heute vor 60 Jahren lief ein Programm auf dem in Großbritannien gebauten EDSAC, dem Electronic Delay Storage Automatic Computer. In 2 Minuten und 35 Sekunden berechneten 3500 Röhren die Quadrate aller Zahlen von 0 bis 99 auf dem ersten vollkommen frei programmierbaren Digitalcomputer. Mit dem EDSAC der Universität Cambridge und der kommerziellen Kopie LEO 1 begann das Zeitalter der Universalcomputer.

Im Unterschied zum amerikanischen ENIAC und dem Rechner des Computerpioniers Atanasoff oder dem Colossus, der speziell für das Code-Knacken entwickelt wurde, musste der EDSAC für neue Rechenaufgaben nicht tagelang neu verkabelt werden. Wie Zuses elektromechanische Z3 war der EDSAC universal programmierbar, mithin der erste Rechner nach den Vorgaben der von Neumann-Architektur. Seine Konstruktion begann im Mai 1946, als der Physiker Maurice Wilkes John von Neumanns Artikel "Draft Report on the EDVAC" lesen konnte. Im Gegensatz zu den Details von ENIAC oder Colossus, die damals geheim waren, war diese 101 Seiten starke Arbeit zum fortschrittlicheren EDVAC, der im August 1949 seine Arbeit aufnahm, nicht als geheim klassifiziert. Der aus der Armee entlassene Wilkes arbeitete am Mathematik-Labor und machte der Universität den Vorschlag, nach dem EDVAC-Prinzip ein zentrales Rechenwerk zu bauen, das alle Fakultäten benutzen sollten. Zu seiner eigenen Überraschung kam der Vorschlag durch, wohl weil in Manchester ein ähnliches Projekt gestartet worden war. Wilkes durfte in die USA fliegen und diskutierte dort mit John Mauchly und Howard Aiken, aber auch mit dem Selectron-Erfinder Jan Rajchman.

Maurice Wilkes
Vergrößern Maurice Wilkes sitzt im Jahr 1964 am Schreibtisch von Joe Weizenbaum im MIT und arbeitet am CTSS (Compatible Time Sharing System), einem Unix-Vorläufer. Bild: Joe Weizenbaum

Im Unterschied zu den amerikanischen Entwicklungen und gegen den Rat von Howard Aiken entschied sich Wilkens als Arbeitsspeicher seiner EDVAC-Kopie auf den Quecksilber-Verzögerungsspeicher zurückzugreifen. Im Krieg hatte er Radarsysteme konstruiert, bei denen diese Speicher benutzt wurden, um unerwünschte Echos auszufiltern. Ein weiterer Unterschied zu den vom US-Militär finanzierten ENIAC-und EDVAC-Projekten bestand in der kommerziellen Unterstützung durch den Nahrungsmittelkonzern Lyons. Die Firma, die ähnlich wie später Starbucks durch eine Kette von Teehäusern groß geworden war, finanzierte Assistentenstellen beim EDSAC-Projekt und stellte einen Ingenieur ab, der zuvor Brühwurst-Automaten entwickelt hatte. Seine Aufgabe war es, aus dem universitären Forschungsprojekt einen kommerziellen Rechner zu entwickeln. Lyons Electronic Office I oder LEO I war ein EDSAC-Klone mit größerem Arbeitsspeicher. Den Beweis der Nützlichkeit von Computern im Büro trat LEO 1 nach einigen Fehlschlägen im Dezember 1953 an, als die Lohnbuchhaltung des Konzerns computerisiert wurde. Für die Berechnung des Lohns eines Mitarbeiters brauchte ein erfahrener Buchhalter 8 Minuten, LEO I erledigte das in 1,5 Sekunden. Eine weitere Unterstützung erhielt das universitäre Projekt durch die britische BTM, damals eine Tochter der amerikanischen IBM. Sie stellte kostenlos Hollerith-Locher und -Leser zur Verfügung, mit denen Programme und Daten eingelesen wurden. Die Ergebnisse wurden auf einem Fernschreiber ausgegeben.

EDSAC war ein 17-Bit-Computer, der mit 500 kHz arbeitete, einen Arbeitsspeicher mit 1024 Adressen besaß und über 18 5-Bit-Befehle wie A (Add), S (Subtract) oder O (Output/Drucken) verfügte. Die Arbeitsweise demonstriert der EDSAC-Simulator von Martin Campbell-Kelly. EDSAC 1 lief bis zum 11. Juli 1952 und wurde dann von EDSACc 2 abgelöst. Nach dem Berechnen der Quadratzahlen war das zweite Programm ein von David Wheeler geschriebenes Programm zur Berechnung von Primzahlen. Dieses Programm wurde auf der ersten außeramerikanischen Konferenz für schnelle Rechenmaschinen 1949 in Cambridge demonstriert und sorgte für enormes Aufsehen. Auf deutscher Seite nahm Alwin Walther teil, der nach dem Vorbild des EDSAC den DERA baute, den Darmstädter Elektronischen Rechenautomaten.

Schon das dritte, etwas anspruchsvollere Programm, die Berechnung von Airy-Funktionen, lief erst nach vielen, vielen Änderungen im Sourcecode. Programmierer Maurice Wilkes, der zwischen dem Lochstreifen-Raum im Erdgeschoss und dem Computer-Raum mit EDSAC im vierten Stock hin- und herkletterte, schrieb in seinen Erinnerungen über das erste Debugging: "Während ich die Stufen hoch und runter hetzte, wurde mir schlagartig klar, dass ich zu einem guten Teil den Rest meines Lebens damit verbringen würde, Fehler in meinen eigenen Programmen auszumerzen."

EDSAC brachte noch andere Erkenntnisse, die trivial erscheinen mögen. David Wheeler erfand die Subroutine. Erprobte, fehlerfreie Programme wurden bald in Programmbibliotheken verwaltet. Wie die am EDSAC ausgebildete Informatikerin Karen Spärck Jones in einer kurzen EDSAC-Geschichte schrieb, begründete der Computer eine ehrwürdige Tradition: Nachts, wenn die offiziellen Operatoren Feierabend hatten, durften mit dem System erfahrene Studenten experimentieren, bis die Maschine den Geist aufgab. Heute würde man sie Hacker nennen.

Kommentare

Anzeige