
Ein Moment der Erkenntnis
Hamilton wurde 1936 geboren und wuchs im US-Bundesstaat Indiana auf. Sie studierte Mathematik und arbeitete später am Massachusetts Institute of Technology (MIT) in Boston als Softwareentwicklerin. Hier schrieb sie mit ihrem Team mehrere Jahre am Programm für den Apollo-Guidance-Computer.
Oft nahm sie ihre Tochter mit ins Labor – das führte zu einer entscheidenden Erkenntnis, die später die Mondmission rettete: Einmal drückte die Kleine in einem unbeobachteten Moment auf Tasten eines Computers, der daraufhin abstürzte. Margaret Hamilton wurde klar, dass so ein Versehen auch im All passieren könnte. Sie suchte nach Lösungen für dieses Problem und erkannte die Notwendigkeit, dass Software eine gewisse Toleranz gegenüber Fehlern braucht. Das Programm sollte nach einem Neustart selbst entscheiden, welche Berechnungen unbedingt als nächstes ausgeführt werden müssen und welche dagegen warten können. Genau dieser Umstand trat nur wenige Minuten vor der Mondlandung ein: Der Computer meldete eine Überlastung, konnte aber dank Hamiltons Voraussicht und der getroffenen Maßnahmen korrekt weiterarbeiten und den Vorgang steuern.
Software Engineering ist einer der Kernbereiche der Informatik. „Wenn die Computerstruktur aufgebaut ist, müssen darauf Software-Systeme geschrieben werden. Das macht man natürlich nicht allein, sondern mit 20, 300 oder über 1.000 anderen zusammen“, erklärt die Informatikerin. Die Grundlagen dafür gehen auf Hamilton zurück. „Man muss damit rechnen, dass Software sich verändert und komplexer wird, das ist wie ein Naturgesetz. Dafür braucht man eine Architektur – wie bei einem Gebäude.“ Denn die Systeme werden immer größer. „Zum Beispiel besteht das Programm für das Hubble Space Telescope aus zwei Millionen lines of code, also Zeilen. Bei Google Chrome sind es schon 6,7 Millionen Zeilen, Windows Vista liegt bei 50 Millionen, Facebook bei 62 Millionen. Daran kann man sehen, dass das niemand mehr allein schaffen kann.“
Das war schon bei Margaret Hamilton so: Auch sie arbeitete mit einem Team zusammen. „Aber sie war umgeben von Ingenieuren, die dachten, wenn Hardware, Elektronik und Mechanik eingerichtet sind, wird noch schnell eine Software geschrieben. Da musste zunächst Verständnis dafür geschaffen werden, dass diese Programmcodes auch ingenieursmäßig erarbeitet und designt werden müssen. Und es muss sichergestellt und getestet werden, dass sie zuverlässig funktionieren.“
Ein großer Schritt auch für die Informatik
Bei der Software für die Apollo-11-Mission gab es keine Möglichkeit, vorab Tests durchzuführen, das Programm musste beim ersten Mal laufen. Trotz aller unbekannten Faktoren während des Fluges zum Mond war es erforderlich, vorher ein verlässliches System zu konstruieren. Margaret Hamilton hatte mögliche Überlastungen oder Komplikationen vorhergesehen und Lösungen dafür entwickelt. Und sie lag richtig, wie der Verlauf zeigte: Während des Fluges priorisierte der Computer eine – in diesem Moment – eher unwichtige Berechnung und verbrauchte damit Leistung, die für die Navigation bei der Landung benötigt wurde. Durch Hamiltons Programm konnte das Versagen des Systems verhindert werden. „Natürlich kann man sagen, es war notwendig, so etwas zu entwickeln. Aber das ändert ja nichts an der Genialität, mit der Hamilton es geschafft hat.“
Margaret Hamilton, geb. Heafield (* 1936)
17. August 1936
Margaret Heafield wird in Paoli (Indiana) geboren.
1958
Sie schließt ihr Mathematik-Studium am Earlham College in Richmond (Indiana) ab. Dort trifft sie auch den Chemiestudenten James Cox Hamilton, den sie später heiratet.
1959
Tochter Lauren wird geboren. Die Familie zieht nach Massachusetts. Margaret Hamilton arbeitet am MIT in Boston als Softwareentwicklerin.
1976 bis 1984
Hamilton gründet das Unternehmen Higher Order Software (HOS) mit und ist über mehrere Jahre dessen Geschäftsführerin.
1986
Sie gründet in Cambridge die Firma Hamilton Technologies Inc. und ist lange deren Vorstandsvorsitzende.