Читать книгу It’s A Nerd’s World - Tobias Schrödel - Страница 12

Оглавление

Grace Murray Hopper

Computerpionierin und Erfinderin des Compilers


*09.12.1906 † 01.01.1992

Flottenadmiral G. M. Hopper erreichte einen der höchsten Dienstgrade der US Navy, erfand den Compiler, war maßgeblich an der Entwicklung der ersten verständlichen Programmiersprache COBOL beteiligt und entdeckte den ersten Computer-Bug. Etwas anderes war aber viel bemerkenswerter – zumindest damals: Flottenadmiral Grace B. Hopper war eine Frau. Und sie war in einem vollständig von Männern dominierten Beruf letztlich so erfolgreich, dass die amerikanische Marine sogar ein Kriegsschiff nach ihr benannte: die USS Hopper.

Jugend und Ausbildung

Grace wuchs als Kind in New York auf und wollte schon immer wissen, wie Dinge funktionieren. Mit sieben Jahren nahm sie sich vor, die Funktionsweise eines Weckers zu verstehen. Also baute Grace einfach sieben Wecker auseinander, bis sie von ihrer Mutter erwischt wurde. Die Familie von Grace Murray, wie Grace bis zu ihrer Hochzeit 1930 hieß, musste ab dann einige Zeit mit einem einzigen, dem letzten im ganzen Haus verbliebenen Wecker, auskommen.

Die schon früh von ihrem Vater geweckte Leidenschaft für Mathematik sorgte dafür, dass Grace Mathematik nicht nur in der Schule als Hauptfach wählte. Sie studierte es anschließend und erlangte 1934 auch einen Doktortitel der Universität Yale.

Eintritt in die US-Marine

Am 7. Dezember 1941 änderte sich Grace’ Leben. Es war der Tag, an dem die Japaner das Hauptquartier der US-Marine in Pearl Harbour im Pazifik angriffen. Amerika trat aktiv in den Zweiten Weltkrieg ein. Grace meldete sich bei der Marine, wurde aber wegen ihrer zierlichen Größe erst ein Jahr später aufgenommen. Sie hoffte, ihre mathematischen Fähigkeiten bei den Codeknackern einsetzen zu können. Stattdessen wurde sie 1943 dem Bureau of Ships Computation Project in Harvard zugeteilt, das Flugbahnen von Flugabwehrgeschützen berechnete.

Damals gab es gerade mal ein Dutzend Computer auf der ganzen Welt. Die meisten wurden für streng geheime Militärprojekte eingesetzt. Einer davon, der Mark I, stand in Harvard. Grace hatte noch nie einen Computer gesehen. Der Mark I war ein Monstrum. Über 15 Meter lang und 5.000 kg schwer. Im Inneren waren acht Kilometer Kabel verlegt und über 750.000 bewegliche Teile verbaut. Grace stand vor diesem riesigen Gerät und ihr neuer Vorgesetzter begrüßte sie mit den Worten: »Wo zum Teufel waren Sie so lange? Das ist die Maschine. Ich wäre glücklich, wenn ich bis Donnerstag die Koeffizienten für die Interpolation des Arcustangens haben könnte.« Die Mathematikerin Grace wusste, was ihr Chef wollte. Sie hatte aber keine Ahnung, wie sie das so schnell und noch dazu mit diesem Computerdingens berechnen sollte. Doch der Drang, alles verstehen zu wollen, den sie seit ihrer Kindheit hatte, half Grace jetzt. Obwohl es keine Anleitung für den Mark I gab, schaffte sie es, die geforderten Tabellen berechnen zu lassen. Grace wurde daraufhin eine von drei Programmierern des Mark I. Und als ihr Vorgesetzter, Commander Howard Aiken, ihr später einmal den Befehl gab, aufzuschreiben, wie der Mark I funktionierte, schrieb Grace Hopper ein ganzes Buch mit 561 Seiten: Es war das erste Computerhandbuch der Welt.

Wirklich wahr!


Der Mark I konnte drei Additionen pro Sekunde verarbeiten. Ein Smartphone ist bis zu 500 Millionen Mal schneller.

Der Mark II und der erste Computer-»Bug«

Der Mark II, an dessen Entwicklung Grace Hopper mitgewirkt hatte, war deutlich schneller als sein Vorgänger. Er bestand aber ebenso aus vielen beweglichen Teilen. Die meisten davon waren Relais, mit denen die von Computern übliche binäre Rechenweise mit lauter Einsen und Nullen geschaltet wurden. War das Relais offen, floss kein Strom. Das stand für eine Null. Für die Eins war der Schalter geschlossen und es lag Spannung an.

Am 9. September 1947 um 10:00 morgens lieferte der Mark II plötzlich erkennbar falsche Ergebnisse. Grace Hopper war verantwortlich für die Schicht. Es gab irgendwo einen Bug, wie Programmfehler bei Computern schon damals genannt wurden. Und der musste schnellstmöglich gefunden werden. Bei den Abertausenden Relais kam es dauernd vor, dass sich eines verklemmte und nicht mehr zwischen eins und null hin- und herschaltete. Grace’ Team fand den Fehler schließlich um 15:45 in Relais 70 von Anschlussplatte F. Ein leibhaftiger »Bug« (englisch für »Käfer«) war von einem Relaisschalter zerquetscht worden und blieb dort tot liegen. Und weil das Tierchen nicht leitete, zeigte Relais 70 permanent Nullen an. Grace schrieb ins Logbuch: »Erster echter Computer-Bug überhaupt gefunden.« Das Insekt wurde mit Klebefilm ins Logbuch eingeklebt und die Seite ist heute im Smithsonian National Museum of American History in Washington DC zu besichtigen.

Eine verständliche Programmiersprache

Die Computer, an denen Grace Hopper in den kommenden Jahren arbeitete, verstanden alle nur eine komplizierte Maschinensprache. Auch noch, als sie nach Ende des Krieges für die Eckert-Mauchly Computer Corporation tätig war. Grace war dies ein Dorn im Auge und so schlug sie dort 1949 vor, eine Computersprache zu entwickeln, die auch ein Mensch versteht. Warum sollte man einen Computer nicht auf Englisch programmieren können, dachte sie sich. Die Antwort ihres Chefs (ein Mann) kam prompt: »Computer verstehen kein Englisch.« Thema erledigt.


Auch wenn man ihr das auf Fotos nicht ansieht: Grace Hopper liebte ihre Arbeit.

Grace ließ sich jedoch nicht entmutigen und entwickelte 1952 ein Programm, das verständliche englische Befehle in Computersprache übersetzen konnte. Der Compiler war geboren. Eine Technik, die heute noch bei fast jeder Programmierung eingesetzt wird. Ganz egal, ob in Java, Basic, C++ oder einer anderen »Hochsprache« programmiert wird. Abgesehen davon, dass das Programmieren schlagartig viel einfacher geworden war, hatte der Compiler noch einen weiteren Vorteil. Vorbei war die Zeit, als jedes Programm auf nur einem Computertyp lief. Endlich konnte man einen Programmcode in verständlicher Sprache schreiben und ihn dann ganz einfach von verschiedenen Compilern für verschiedene Computer übersetzen und dort laufen lassen. An der Entwicklung einer der ersten Hochsprachen für Compiler wirkte Grace dann letztlich auch maßgeblich mit: COBOL.

Das Jahr-2000-Problem

Grace Hopper hatte in den 1950er-Jahren entschieden, dass die Datumsfunktion in COBOL mit zwei Stellen bei der Jahreszahl arbeitet. Sie wollte den damals sehr teuren und knappen Speicherplatz sparsam nutzen. Für das Jahr 1956 speichert COBOL daher nur 56, für 1961 nur die Zahl 61. Will man zum Beispiel einen Zeitunterschied berechnen, spielt es nämlich keine Rolle, ob der Computer 1961 – 1956 oder 61 – 56 rechnet. Das Ergebnis ist immer fünf. Dieser verkürzte Wert reichte also völlig aus.

Spätestens Anfang der 1990er-Jahre wurde Grace Hopper jedoch klar, dass sie sich geirrt hatte. Viele Systeme auf der ganzen Welt arbeiteten immer noch mit COBOL, was sie sich 30 Jahre früher bei der Entwicklung von COBOL nicht hatte vorstellen können. Und spätestens im Jahr 2000 würden diese Programme ein Problem haben: 2000 – 1992 ist acht. COBOL aber hatte einen Jahr-2000-Bug. Es rechnete, dank Graces Vorgabe, nämlich nur zweistellig. Und 00 – 92 ist eben nicht acht, sondern – 92. Niemand wusste, wie die Programme auf das völlig falsche Ergebnis reagieren würden. Man rechnete daher damit, dass am 01.01.2000 Computer weltweit reihenweise abstürzen würden, Aufzüge stehen bleiben und Geldautomaten verrücktspielen. Die »Y2K-Panik« (»Year 2000«) brach aus.

Grace Hopper sagte einmal, dass sie sich sehr wünsche, die Silvesternacht 1999 auf 2000 noch zu erleben. Sie wollte wissen, was dann mit den Systemen passierte. Leider starb sie mit 95 Jahren auf den Tag genau acht Jahre zu früh, in der Silvesternacht von 1991 auf 1992. Und acht Jahre später, bei der Jahrtausendwende, passierte dann … fast nichts. Tausende COBOL-Entwickler auf der ganzen Welt hatten die Systeme in den Monaten davor so umprogrammiert, dass sie keinen Jahr-2000-Bug mehr hatten. Übrigens war der erste Bug, damals 1947, im Mark II Aiken Relay Calculator gar kein wirklicher »Bug«, also kein Käfer, sondern eine Motte.

Wirklich wahr!


Obwohl Grace einen der höchsten Ränge der amerikanischen Marine, also der Seestreitkräfte, innehatte und über 20 Jahre dort arbeitete, hatte sie nicht einen einzigen Tag Dienst auf einem Schiff getan.

It’s A Nerd’s World

Подняться наверх