Die Königin der Programmiersprachen
Geschrieben am 14.10.2016 von HNF
Auch die Software ist ein Thema der neuen Abteilungen, die das HNF am 29. Oktober eröffnet. Im CodeLab können die Besucher die Kunst des Programmierens erkunden. Abgekürzte Befehle zum Bedienen von Computern entstanden schon mit den ersten Elektronenrechnern. Vor genau 60 Jahren gab die Firma IBM die Gebrauchsanleitung von Fortran heraus, der ersten modernen Programmiersprache.
Konrad Zuse brauchte noch keine Programmiersprache. Als er 1941 in Berlin seinen Relaisrechner vorführte, fütterte er ihn mit einem gelochten Filmstreifen. Die darin codierten Anweisungen, Rechenplan genannt, lösten jeweils eine Operation aus. Zahlen tippte Zuse auf dem Pult des Rechners ein. Bald darauf dachte er aber über ein separates Gerät zur Rechenplanfertigung nach.
Die Bedienung eines frühen Elektronenrechners schildert ein englischer Film aus dem Jahr 1951 (ab Minute 3:40). Er zeigt den EDSAC, der seit 1949 in der Universität Cambridge lief. Wir sehen unter anderem die Erstellung eines Programms und bei Minute 5:20 den „programme sheet“, die Liste der Befehle. Diese bestanden aus leicht zu merkenden Kurzworten, die der EDSAC vom Lochstreifen las und umsetzte. Die Befehle starteten vor allem Aktionen auf der Ebene der Register. Es gab auch schon eine Sammlung von bereits gelochten Unterprogrammen oder Subroutinen.
1952 brachte die amerikanische Computerfirma IBM ihr Modell 701 heraus. 18 Stück gingen an Flugzeughersteller, Universitäten und staatliche Stellen. Der Röhrenrechner war für wissenschaftliche und technische Probleme gedacht. Zum Software-Angebot zählte das Speedcoding, was so viel wie Schnellprogrammierung heißt. Die Speedcoding-Befehle vereinfachten die oft auftretenden Programme mit Gleitkomma-Zahlen. Das sind Dezimalzahlen, die als Produkt einer Mantisse zwischen 1 und 10 und einer Zehnerpotenz geschrieben werden.
Erfunden hatte das Speedcoding der junge Mathematiker John Backus. 1924 in Philadelphia geboren, war er seit 1950 im New Yorker IBM-Haus tätig. In seinen ersten Jahren arbeitete er am SSEC, einem kombinierten Relais- und Röhrenrechner. Ende 1953 schlug Backus seinem Chef die Entwicklung einer wissenschaftlichen Programmiersprache vor. Sie sollte die Benutzung des fast fertigen Computers IBM 704 erleichtern. Der Röhrenrechner wurde im April 1954 der Öffentlichkeit vorgestellt.
Anfang 1954 durftes Backus mit dem Projekt beginnen. Er bildete ein zehnköpfiges Team, zu dem auch eine Frau gehörte, die Mathematikerin Lois Haibt. In gemeinsamer Arbeit entstand die erste höhere Programmiersprache der Welt, die den Namen Fortran erhielt, eine Abkürzung von „Formula Translating“. Fortran basierte auf der Formelsprache der Mathematik und ermöglichte zusätzlich Ketten und Schleifen, Sprünge und bedingte Operationen. Dazu kamen Befehle für Ein- und Ausgaben.
Das erste in Fortran geschriebene Programm lief im September 1954. Im folgenden November erschien ein Vorab-Bericht über die Sprache. Damit war die Arbeit nicht beendet, denn es fehlte eine wichtige Software: der Compiler. Er übersetzt Fortran-Zeilen in die Maschinensprache der IBM 704. Erst jetzt kann das Programm von der Zentraleinheit des Computers durchgerechnet werden. Es dauerte noch bis Februar 1957, bis der Compiler fertig war und das Team das Fortran Automatic Coding System auf einer Tagung in Los Angeles vorstellte.
Schon im Oktober 1956 – vor sechzig Jahren – lag das Reference Manual vor, also die Anleitung zum Programmieren. Nach der Präsentation von Sprache und Compiler arbeiteten Backus und seine Leute fleißig weiter. 1958 folgte das vergrößerte Fortran II. Es erlaubte unter anderem Subroutinen, siehe das Video zum EDSAC. Immer mehr Hersteller ließen Compiler schreiben, sodass die Sprache auf ihren Maschinen verwendbar war. 1962 kam Fortran IV heraus, das als Fortran 66 Industriestandard wurde. Mittlerweile sind wir bei Fortran 2008 angelangt.
Nach dem Fortran-Erfolg erwarb John Backus weitere Meriten. Er ist einer der Urheber der Backus-Naur-Form, mit der sich Programmiersprachen elegant beschreiben lassen. Später erforschte er die funktionaler Programmierung, die auf explizite Befehle verzichtet. 1977 erhielt Backus die höchste Auszeichnung der Informatik, den Turing-Preis. Er starb 2007. Im Internet lebt er natürlich weiter, so in diesem Video von 1982 mit Mitgliedern des Fortran-Teams. Im Netz finden sich außerdem viele Dokumente zur Sprache, etwa hier und hier, und ein Werbefilm von 1958.
Auch der Blogger ist ein Kind der Generation Fortran, denn er erlernte in den 1970er-Jahren in Bonn Fortran IV. Das Rechenzentrum der Universität betrieb eine IBM 370, welche die Studenten per Stapelverarbeitung nutzten. Die Programme wurden mit altertümlichen IBM-26-Lochern, manchmal auch mit dem neueren Typ IBM 29, in die typischen Pappkarten gestanzt. Der Kartenblock ging ans Rechenzentrum, das sich einigen Stunden später mit großformatigen Ausdrucken revanchierte. Und glücklich der, dessen Papier frei von den hässlichen Worten SYNTAX ERROR war.
Das Foto oben vermittelt einen Eindruck aus jener Zeit, selbst wenn es nicht in Bonn entstand. Man sieht darauf Studenten den RWTH Aachen beim Lochen von (vermutlich) Fortran-Karten. Unser Eingangsbild ganz oben hat mit Software allgemein zu tun. Es trägt den Titel „Sammeln und Sortieren“ und stammt aus der Ausstellung Die algorithmische Welt mit Fotos von HNF-Geschäftsführer Dr. Jochen Viehoff, die das HNF 2010 zeigte.
Einer der beiden Chefentwickler der IBM 701 – auch als „Defense Calculator bezeichnet – war der aus Detmold stammende Ingenieur Werner Buchholz. Jüdischer Abstammung „emigrierte“ Buchholz zunächst per Kindertransport nach England und später nach Kanada, wo er Elektrotechnik studierte. Nach seiner Promotion am Caltech startete Buchholz seine Karriere bei IBM im Jahre 1949.
Werner Buchholz prägte 1956 im Rahmen der Arbeit am IBM Stretch, dem ersten Supercomputer des Unternehmens, den Begriff „Byte“ als Bezeichnung für eine Zeichenfolge von acht Bits; später verstanden u.a. als kleinste adressierbare Speichereinheit.