← Alle Beitrage

Engineering-Philosophie: Grace Hopper – bringen Sie den Computer dazu, menschlich zu sprechen

Grace Hopper, Konteradmiralin der US Navy und Pionierin der Informatik

Die wichtigsten Erkenntnisse

  • Hoppers gesamte Philosophie in einem Satz: Bringen Sie den Computer dazu, die Sprache des Menschen zu sprechen, und zwingen Sie nie den Menschen, die Sprache der Maschine zu sprechen.
  • Der erste Compiler, A-0 (1952), legte die Last der Übersetzung auf die Maschine – einmal in Software automatisiert, statt für immer von jedem Programmierer von Hand bezahlt.
  • Der Nanosekunden-Draht machte Latenz zu einem physischen Gegenstand: 11,8 Zoll, die man in der Hand halten konnte, sodass die Kosten verschwendeter Zeit aufhörten, abstrakt zu sein.
  • „Das haben wir schon immer so gemacht” war für sie der gefährlichste Satz der Sprache – und jede ihrer Erfindungen war eine Antwort darauf.

Das Prinzip

„Menschen sind allergisch gegen Veränderung. Sie sagen gern: ‚Das haben wir schon immer so gemacht.’ Ich versuche, das zu bekämpfen. Deshalb hängt an meiner Wand eine Uhr, die gegen den Uhrzeigersinn läuft.” – Grace Hopper1

Dieses Temperament ist die Folge einer einzigen Überzeugung: Die Maschine sollte dem Menschen dienen, nicht umgekehrt. Als Programmieren 1953 noch bedeutete, numerische Befehle für eine bestimmte Maschine von Hand zu schreiben, schlug Hopper vor, datenverarbeitende Probleme in englischen Wörtern zu formulieren und die Übersetzung dem Computer zu überlassen. Die Geschäftsleitung sagte ihr, das sei nicht machbar – Computer verstünden kein Englisch.2 Sie behauptete gar nicht, dass sie es täten. Sie behauptete, dass die Last der Übersetzung zur Maschine gehöre, wo sie einmal automatisiert werden könne, statt auf jedem Programmierer zu lasten, für immer. Das ist die gesamte Philosophie: Bringen Sie den Computer dazu, die Sprache des Menschen zu sprechen, nicht umgekehrt.

Siebzig Jahre später ist es leicht zu übersehen, wie radikal das war. Die vorherrschende Annahme lautete, Programmieren sei ein esoterisches Handwerk für Menschen, die in den Begriffen der Maschine denken könnten, und das sei eben die Natur der Arbeit. Hoppers Antwort war, dass die Natur der Arbeit eine Entscheidung war, die jemand getroffen und nie wieder überdacht hatte – „das haben wir schon immer so gemacht” war zu einem Naturgesetz verkalkt. Ihre gesamte Laufbahn ist die Verweigerung dieser Verkalkung: der erste Compiler, die erste englischähnliche Sprache und ein Leben lang Menschen beizubringen, dass die Grenzen, die sie akzeptierten, nicht real waren.

Der Hang zum Anti-Dogma und die Mission der Zugänglichkeit sind derselbe Instinkt, von zwei Seiten betrachtet. Abstraktion – einem Menschen zu erlauben, seine Absicht in seinen eigenen Begriffen auszudrücken, und ein Werkzeug diese bis hinunter zur Maschine übersetzen zu lassen – ist keine Bequemlichkeit, die man dem Programmieren überstülpt. Für Hopper war sie der Sinn des Programmierens: die Arbeit, die Maschine Menschen zu öffnen, die sonst ausgesperrt blieben. Als Präsident Obama ihr 2016 die Presidential Medal of Freedom verlieh, brachte die Begründung es klar auf den Punkt – sie „erfand den ersten Compiler, der es erlaubte, Programme in gewöhnlicher Sprache zu schreiben und sie dann für Computer verständlich zu übersetzen.”3 Dieselbe Überzeugung liegt dem Argument zugrunde, dass gute Werkzeuge für den Menschen optimieren sollten, der sie benutzt, nicht für die Maschine, die sie ausführt.

Kontext

Grace Brewster Murray Hopper wurde am 9. Dezember 1906 in New York City geboren.4 Sie erwarb 1928 einen Bachelor in Mathematik und Physik am Vassar College, dann einen Master (1930) und einen Doktortitel in Mathematik (1934) in Yale – eine Promotion in Mathematik, die fast keine Frau ihrer Generation besaß.4 Sie lehrte in den 1930er-Jahren Mathematik am Vassar College, und dieses Detail ist von Bedeutung: Bevor sie Programmiererin war, war sie Lehrerin, und der Instinkt, eine schwierige Idee greifbar zu machen, verließ sie nie.

Im Dezember 1943, mitten im Krieg, trat sie der United States Navy Reserve bei. Die Navy zierte sich zunächst – sie war sechsunddreißig und lag deutlich unter dem geforderten Gewicht –, doch sie setzte sich durch und wurde 1944 dem Bureau of Ordnance Computation Project in Harvard zugeteilt, wo sie unter Howard H. Aiken zu einer der ersten Programmiererinnen des Harvard Mark I wurde.4 Der Mark I war ein raumgroßer elektromechanischer Rechner; Hopper verfasste mit das 561-seitige Handbuch A Manual of Operation for the Automatic Sequence Controlled Calculator, das jahrelang der Grundlagentext dafür war, wie man die Maschine programmiert.4

Grace Hopper bei der Arbeit, umgeben von UNIVAC-Handbüchern und einer Magnetbandspule

Nach dem Krieg schied sie aus dem aktiven Dienst aus, blieb aber in der Reserve und trat 1949 der Eckert-Mauchly Computer Corporation bei – bald Teil von Remington Rand –, um am UNIVAC I zu arbeiten, dem ersten kommerziellen Computer der Vereinigten Staaten.4 Dort, wo sie nicht mehr Code von Hand an eine einmalige Forschungsmaschine schweißte, sondern versuchte, ein Produkt für gewöhnliche Unternehmen brauchbar zu machen, rückte das Problem ihres Lebens in den Fokus. Aiken hatte ihr die Maschine gegeben. UNIVAC gab ihr den Kunden. Der Kunde konnte nicht programmieren, und Hopper entschied, dass dies das Problem des Computers war, nicht das des Kunden.

Das Werk

Der erste Compiler: A-0 (1952)

Bis 1952 hatte Hopper das A-0-System gebaut, das weithin als der erste Compiler gilt.5 Die Idee war im Rückblick fast schon peinlich einfach und zur damaligen Zeit ketzerisch. Programmierer hatten Bibliotheken nützlicher Unterprogramme aufgebaut, doch um eines wiederzuverwenden, kopierte man seine Befehle von Hand in sein Programm und korrigierte mühsam jede Speicheradresse. Hoppers A-0 erlaubte es stattdessen, jedes Unterprogramm über eine kurze Aufrufnummer anzusprechen und seine Argumente zu übergeben; das System holte dann die Routinen von einem Band, löste die Adressen auf und setzte ein lauffähiges Programm zusammen.5

Puristen merken zu Recht an, dass A-0 eher wie das funktionierte, was wir heute einen Loader oder Linker nennen würden, als wie ein moderner optimierender Compiler.5 Das stimmt und sollte gesagt werden. Doch der gedankliche Sprung ist der Teil, der Bestand hat: Ein Programm konnte eine Spezifikation sein, geschrieben in bequemen Symbolen, und ein Stück Software konnte diese Spezifikation automatisch in Maschinencode übersetzen. Die Übersetzung war nun Aufgabe der Maschine. Hoppers eigene Begründung, warum sie es tat, überlebt in ihren Worten über die UNIVAC-Jahre: „Ich war früher Mathematikprofessorin. Damals stellte ich fest, dass es eine gewisse Zahl von Studierenden gab, die Mathematik nicht lernen konnten. Dann wurde mir die Aufgabe übertragen, es Geschäftsleuten leicht zu machen, unsere Computer zu benutzen.”2 Jeder Compiler seither – jede Codezeile, die jemals in einer Sprache oberhalb roher Maschinenbefehle geschrieben wurde – ist ein Nachkomme dieser Entscheidung.

FLOW-MATIC und der Weg zu COBOL

A-0 übersetzte Symbole. Der nächste Schritt war, die Symbole zu Englisch zu machen. Zwischen 1955 und 1959 bauten Hopper und ihr Team bei Remington Rand FLOW-MATIC, die erste Programmiersprache, die Operationen in englischähnlichen Anweisungen statt in mathematischer Notation ausdrückte.6 Ein FLOW-MATIC-Programm las sich mit Befehlen wie INPUT, COMPARE und MOVE – Wörter, die ein Geschäftsmensch lesen und grob verstehen konnte, ohne Mathematiker zu sein. Es war, in ihren Worten, die bewusste Arbeit daran, den Computer für Menschen brauchbar zu machen, die niemals in den Begriffen der Maschine denken würden.

FLOW-MATIC floss direkt in COBOL ein. Als das CODASYL-Komitee 1959 zusammentrat, um eine gemeinsame geschäftsorientierte Sprache zu entwerfen, war FLOW-MATIC die ausgereifteste englischähnliche Sprache zur Datenverarbeitung, die existierte, und wurde zur primären Grundlage des neuen Standards.6 Hopper wird zu Recht die konzeptionelle Großmutter von COBOL genannt – nicht seine alleinige Urheberin, aber jene Person, deren Arbeit und Eintreten eine englischähnliche, maschinenunabhängige Geschäftssprache überhaupt erst denkbar machten. Und maschinenunabhängig ist die zweite radikale Idee, die hier mit eingebunden ist: Sie verfocht den Gedanken, dass ein Programm über verschiedene Computer hinweg portierbar sein sollte, statt von Hand an einen einzigen angepasst zu werden – ein direkter Vorfahr der einmal-schreiben-und-portieren-Überzeugung, die Unix und C berühmt machten. Derselbe Code, dasselbe Englisch, laufend auf Maschinen, für die er nie geschrieben wurde. COBOL überlebte fast alles um sich herum; Jahrzehnte später betreibt es immer noch die Banken- und Verwaltungssysteme der Welt, was ein eigenes leises Argument für die Beständigkeit einer Idee ist, die um den menschlichen Leser herum gebaut wurde.

Die Nanosekunde: Latenz greifbar machen

Hoppers berühmtestes Lehrmittel war überhaupt kein Code. Es war ein Stück Draht. Einmal gefragt, warum Satellitenkommunikation so lange dauere, machte sie sich daran, die Kosten der Zeit zu etwas zu machen, das ein Mensch in der Hand halten kann. Sie verteilte Drahtstücke, zugeschnitten auf 11,8 Zoll – die größte Strecke, die Elektrizität in einer Nanosekunde zurücklegen kann, einer Milliardstelsekunde –, sodass eine abstrakte Verzögerungseinheit zu einem physischen Gegenstand in der Hand wurde.7 Dann holte sie eine 984 Fuß lange Spule hervor: Das, erklärte sie, sei eine Mikrosekunde. „Ich denke manchmal, wir sollten eine über jedem Schreibtisch eines Programmierers aufhängen”, sagte sie, „damit sie wissen, was sie wegwerfen, wenn sie Mikrosekunden wegwerfen.”7

Commodore Grace Hopper spricht an einem Rednerpult, 1985

Der Draht ist derselbe Lehrerinstinkt, der den Compiler antrieb, nur auf eine andere Lehre gerichtet. Der Compiler sagte: Sie sollten nicht in den Begriffen der Maschine denken müssen, um sie zu benutzen. Die Nanosekunde sagte: Aber Sie müssen die Physik der Maschine respektieren. Latenz hörte auf, eine Zahl auf einer Folie zu sein, und wurde zu einer Länge, die ein Signal physisch überqueren muss, beherrscht von der Lichtgeschwindigkeit, und jede verschwendete Mikrosekunde ist Draht, den Sie das Signal ohne Grund haben durchlaufen lassen. Die Drähte liegen heute im Smithsonian’s National Museum of American History.8 Sie sind auch, fast exakt, John Carmacks „the speed of light sucks” – vierzig Jahre früher und aus Kupfer gemacht. Beide machten die harte physische Untergrenze der Latenz zu etwas, das man nicht wegabstrahieren oder beiseitewischen konnte, weil man es sehen oder halten konnte.

Der Bug und das Anti-Dogma-Temperament

Am 9. September 1947 führten Operatoren am Harvard Mark II – Aikens Nachfolgemaschine, das Team, in dem Hopper arbeitete – einen Fehler auf eine Motte zurück, die in Relais Nr. 70, Panel F gefangen war. Sie entfernten das Insekt, klebten es ins Logbuch und schrieben: „First actual case of bug being found.” (Erster tatsächlicher Fall eines gefundenen Bugs.)9 Diese Logbuchseite, mit der Motte noch daran, befindet sich heute im Besitz des Smithsonian.8

Die ehrliche Version dieser Geschichte ist wichtig, denn Hopper erzählte sie so gut, dass die Fakten verschwammen. Die Motte war echt, und das Datum ist dokumentiert. Doch das Wort „bug” für einen technischen Fehler war lange vor ihr gebräuchlich – es war schon zu Thomas Edisons Zeiten im Umlauf –, und die Operatoren machten mit ziemlicher Sicherheit ein Wortspiel, indem sie den technischen Begriff, den sie bereits kannten, mit dem buchstäblichen Insekt verschmolzen, das sie gerade herausgepult hatten.9 Hopper war nach den meisten Berichten nicht einmal diejenige, die es fand. Was sie tat, mit der ihr eigenen Verve, war, die Anekdote und das Vokabular von „bug” und „debugging” so lange zu popularisieren, bis sie zur Muttersprache des Fachs wurden.9 Die genaue Zuschreibung lautet also: Sie prägte „bug” nicht, und sie fing die Motte vermutlich nicht, aber sie sorgte dafür, dass die Geschichte und das Wort haften blieben. Das ist ein eigener Beitrag – wieder der Beitrag der Lehrerin.

Das Temperament hinter all dem war ein dauerhafter Krieg gegen ererbte Annahmen. Die Uhr an ihrer Wand lief mit Absicht gegen den Uhrzeigersinn, um zu beweisen, dass die Konvention, die alle für festgesetzt hielten, in dem Moment willkürlich war, in dem man sich entschied, eine andere zu bauen.1 „Das haben wir schon immer so gemacht” war für Hopper der gefährlichste Satz der Sprache – und der Compiler, die englischähnliche Sprache, das portierbare Programm und der Draht in der Hand waren allesamt Antworten darauf.

Die Methode

Die Methode bleibt über vierzig Jahre hinweg konsistent – Ballistikberechnung, kommerzielle Datenverarbeitung, Sprachentwurf und ein Leben lang Lehren.

Verlagern Sie die Last der Übersetzung auf die Maschine. Der wiederkehrende Zug ihrer Laufbahn besteht darin, Arbeit, die jeder Mensch derzeit von Hand erledigt – Adressen auflösen, in numerischen Opcodes denken, Code an einen bestimmten Computer anpassen –, einmal in Software zu automatisieren. Der Compiler ist diese Idee; FLOW-MATIC ist diese Idee; Maschinenunabhängigkeit ist diese Idee.56

Lassen Sie Menschen ihre eigene Sprache sprechen. Programmieren sollte den Benutzer dort abholen, wo er steht. Ein Geschäftsmensch sollte MOVE und COMPARE schreiben können, statt einen Befehlssatz auswendig zu lernen. Zugänglichkeit war nie eine Funktion, die auf das Werkzeug aufgeschraubt wurde; für Hopper war sie der ganze Grund, warum das Werkzeug existierte.26

Machen Sie das Abstrakte greifbar. Wenn eine Idee zu abstrakt ist, um respektiert zu werden – eine Nanosekunde, eine verschwendete Mikrosekunde –, bauen Sie einen physischen Gegenstand, der die Lehre erzwingt. Der Draht ist Pädagogik als Ingenieurskunst: Man kann mit einem Ding, das man in der Hand hält, nicht streiten.7

Misstrauen Sie dem „das haben wir schon immer so gemacht”. Behandeln Sie ererbte Konventionen als Hypothese, nicht als Gesetz. Die gegen den Uhrzeigersinn laufende Uhr ist die Methode in gegenständlicher Form: Beweisen Sie, dass die Einschränkung willkürlich ist, indem Sie es schlicht anders machen.1

Bitten Sie um Verzeihung, nicht um Erlaubnis. „Wenn es eine gute Idee ist, machen Sie es einfach. Es ist viel leichter, sich zu entschuldigen, als um Erlaubnis zu bitten”, riet sie – das operative Korollar zum Kampf gegen das Dogma. (Der Gedanke ist älter als sie, und der genaue Wortlaut variiert je nach Quelle, aber der Satz gehört ihr in der Form, in der die Navy und das Fach sich an ihn erinnern.)10 Man gelangt nicht zur Abstraktion, indem man darauf wartet, dass die Menschen, die in den alten Weg investiert haben, sie absegnen.

Einfluss-Kette

Wer sie prägte

Howard Aiken und der Harvard Mark I. Aiken übergab Hopper ihren ersten Computer und ihr erstes schweres Problem, und das Mark-I-Handbuch, das sie mitverfasste, zwang sie, rigoros darüber nachzudenken, wie eine Maschine angewiesen wird – die Frage, die zu ihrer Lebensaufgabe werden sollte. (Direkter Einfluss)

Die United States Navy. Die Navy gab ihr die Institution, die Disziplin und letztlich die Bühne; sie blieb über vier Jahrzehnte lang, mit Unterbrechungen, in Uniform. Die Forderung des Militärs nach verlässlichen, wiederholbaren, lehrbaren Verfahren prägte ihre Überzeugung, dass Programmieren systematisch und übertragbar gemacht werden musste, nicht handwerklich-einzelfallbezogen. (Prägender Einfluss)

Ihre Jahre als Mathematikprofessorin. Vor den Maschinen lehrte sie. Die Frage der Lehrerin – wie mache ich das für jemanden greifbar, der noch nicht so denkt wie ich? – ist der Keim des Compilers, der englischähnlichen Sprache und des Drahts. (Prägender Einfluss)

Wen sie prägte

Jede Hochsprache. Der Compiler machte es möglich, in etwas anderem als rohem Maschinencode zu programmieren. FORTRAN, COBOL und alles seither beruhen auf der Prämisse, die A-0 bewies: dass ein Werkzeug für den Menschen bequeme Symbole in Maschinenbefehle übersetzen kann.5

COBOL und die geschäftliche Datenverarbeitung. Als konzeptionelle Großmutter von COBOL legte Hopper englischähnliche, maschinenunabhängige Programmierung in die Hände von Unternehmen weltweit. Die Sprache betreibt noch immer einen enormen Anteil der weltweiten Finanz- und Verwaltungssysteme.6

Zugänglichkeit als Ziel des Programmierens. Das tiefste Erbe ist keine Sprache, sondern eine Haltung: dass das Öffnen der Maschine für mehr Menschen die eigentliche Arbeit ist, nicht ein Nebeneffekt davon. Obamas Begründung – „wir können Grace Hopper dafür danken, dass sie die Programmierung für Millionen weitere Menschen geöffnet hat” – ist genau das.3

Der rote Faden

Yukihiro Matsumoto entwarf Ruby so, dass es für das Glück des Programmierers optimiert – die Sprache sollte sich dem Menschen beugen, nicht der Mensch der Sprache. Das ist Hoppers „machen Sie es Geschäftsleuten leicht, unsere Computer zu benutzen”, 1995 erneut gesagt: der direkte philosophische Erbe von bringen Sie den Computer dazu, menschlich zu sprechen. John Carmacks „the speed of light sucks” ist ihr Nanosekunden-Draht als Satz – beide bestehen darauf, dass Latenz physisch ist, eine harte Untergrenze, die man respektiert, statt sie wegzuabstrahieren; sie kam nur vierzig Jahre früher dorthin und machte ihre aus Kupfer, das man halten konnte. Und Thompson und Ritchies Unix und C, so gebaut, dass ein Betriebssystem einmal geschrieben und portiert werden konnte, statt an eine einzige Maschine geschweißt zu sein, sind die praktische Erfüllung der Maschinenunabhängigkeit, für die Hopper bei COBOL eintrat: dasselbe Programm, laufend auf Hardware, für die es nie geschrieben wurde. (Brücke der Serie)

Was ich daraus mitnehme

Die Lehre, die ich behalte, ist, dass Abstraktion kein Luxus ist, den man hinzufügt, wenn man Zeit hat – sie ist die ganze Arbeit. Hopper sah sich das Programmieren 1952 an, erkannte, dass der schwere Teil von jedem Menschen getragen wurde, der die Maschine anrührte, und verlagerte diese Last in Software, wo sie einmal bezahlt werden konnte. Das ist der Zug, den ich in allem, was ich heute baue, zu machen versuche: die Übersetzungsarbeit zu finden, die Menschen von Hand erledigen, wieder und wieder, und sie ins Werkzeug zu automatisieren. Der Maßstab ist derselbe wie der, dass Qualität die einzige Variable ist – die Frage lautet nie „kann man einem Menschen beibringen, diese Schnittstelle zu ertragen?”, sondern „warum sollte er es müssen?”

In der Welt, in der ich heute baue – Agenten, Tool-Schleifen, KI-Systeme –, sind beide Hälften von Hopper tragend, und sie ziehen genau auf die produktive Weise gegeneinander. Die Zugänglichkeits-Hälfte sagt: Lassen Sie den Menschen seine Absicht in seiner eigenen Sprache ausdrücken und das System sie bis hinunter zu dem übersetzen, was die Maschine braucht – was fast wörtlich das ist, was eine LLM Tool-Calling-Schicht ist, ein Compiler für Englisch, siebzig Jahre später. Die Physik-Hälfte sagt: Aber lassen Sie die Abstraktion Sie nicht über die Kosten belügen; jeder Modellaufruf ist eine Nanosekunde Draht, und sie zu stapeln, nur weil die Schnittstelle freundlich ist, ist die Art, wie man Mikrosekunden wegwirft, die man nicht sehen kann. Und das Temperament – die gegen den Uhrzeigersinn laufende Uhr, die Verweigerung des „das haben wir schon immer so gemacht” – ist der Teil, den ich am dringendsten um ein Feld herum brauche, das seine gegenwärtigen Konventionen für Gesetze hält. Diese Überzeugung, dass Geschmack ein technisches System ist, das man untersuchen und ändern kann, statt einer Tradition, die man erbt, verläuft schnurgerade von einem Compiler aus dem Jahr 1952 bis zu einem Agentenrahmen des Jahres 2026.

FAQ

Was ist Grace Hoppers Engineering-Philosophie?

Hoppers Kernüberzeugung war, dass der Computer dem Menschen dienen sollte, nicht umgekehrt: Die Last, menschliche Absicht in Maschinenbefehle zu übersetzen, gehört in die Software, einmal automatisiert, statt für immer auf jeden Programmierer. Diese eine Überzeugung brachte den ersten Compiler hervor (A-0, 1952) und die erste englischähnliche Programmiersprache (FLOW-MATIC), beide mit dem Ziel, Computer für Menschen brauchbar zu machen, die nicht in den Begriffen der Maschine denken konnten – und es nicht müssen sollten.256 Mit dieser Mission der Zugänglichkeit gepaart war ein unerbittlicher Hang zum Anti-Dogma, festgehalten in ihrer Ansicht, dass „das haben wir schon immer so gemacht” der gefährlichste Satz der Sprache sei.1

Was hat Grace Hopper erfunden?

Sie baute 1952 das A-0-System, das weithin als der erste Compiler gilt und symbolische Programmspezifikationen automatisch in Maschinencode übersetzte.5 Anschließend leitete sie die Entwicklung von FLOW-MATIC (1955–1959), der ersten Programmiersprache, die englischähnliche Anweisungen verwendete und zur primären Grundlage von COBOL wurde.6 Sie wird die konzeptionelle Großmutter von COBOL und eine Verfechterin der maschinenunabhängigen Programmierung genannt. Sie stieg in den Rang einer Konteradmiralin der US Navy auf, schied 1986 als deren ältester aktiver Offizier aus und erhielt 2016 posthum die Presidential Medal of Freedom; ein Zerstörer der Navy, die USS Hopper, ist nach ihr benannt.34

Was war Grace Hoppers „Nanosekunden”-Draht?

Es war ihr berühmtestes Lehrmittel: Drahtstücke, zugeschnitten auf 11,8 Zoll, die größte Strecke, die Elektrizität in einer Nanosekunde (einer Milliardstelsekunde) zurücklegen kann. Sie verteilte sie, sodass eine abstrakte Verzögerungseinheit zu einem physischen Gegenstand wurde, den man halten konnte.7 Sie stellte ihm eine 984 Fuß lange Spule gegenüber, die eine Mikrosekunde darstellte, und sagte den Programmierern, sie zeige, „was sie wegwerfen, wenn sie Mikrosekunden wegwerfen.”7 Die Lehre war, dass Latenz nicht abstrakt ist – sie ist eine physische Länge, die ein Signal überqueren muss. Die Drähte befinden sich heute im Smithsonian’s National Museum of American History.8

Hat Grace Hopper den Begriff „computer bug” geprägt?

Nein, und die ehrliche Version ist interessanter. Am 9. September 1947 fanden Operatoren am Harvard Mark II eine Motte, die in einem Relais gefangen war, klebten sie ins Logbuch und schrieben „First actual case of bug being found”; diese Logbuchseite befindet sich im Besitz des Smithsonian.89 Doch das Wort „bug” für einen technischen Fehler ist Jahrzehnte älter als die Motte – es war schon zu Thomas Edisons Zeiten in Gebrauch –, und die Operatoren machten mit ziemlicher Sicherheit ein Wortspiel mit einem Begriff, den sie bereits kannten. Hopper war nach den meisten Berichten nicht selbst diejenige, die die Motte fand. Was sie tat, war, die Anekdote und das Vokabular von „bug” und „debugging” zu popularisieren, bis sie zur Standardsprache des Fachs wurden.9


Quellen


  1. Philip Schieber, “The Wit and Wisdom of Grace Hopper,” OCLC Newsletter, No. 167 (March/April 1987). „Humans are allergic to change. They love to say, ‘We’ve always done it this way.’ I try to fight that. That’s why I have a clock on my wall that runs counter-clockwise.” Siehe auch “Grace Hopper,” Wikiquote. 

  2. “FLOW-MATIC,” Wikipedia. Hopper schlug Ende 1953 vor, datenverarbeitende Probleme in englischen Schlüsselwörtern auszudrücken; die Geschäftsleitung tat es zunächst als undurchführbar ab. „I used to be a mathematics professor. At that time I found there were a certain number of students who could not learn mathematics. I then was charged with the job of making it easy for businessmen to use our computers.” 

  3. President Barack Obama, “Remarks by the President at Presentation of the Presidential Medal of Freedom,” The White House, November 22, 2016. „If Wright is flight and Edison is light, then Hopper is code.” „She invented the first compiler, which allowed programs to be written in regular language and then translated for computers to understand.” 

  4. “Grace Hopper,” Wikipedia. Geboren am 9. Dezember 1906 in New York City; gestorben am 1. Januar 1992. BA Vassar (1928); MS (1930) und Promotion in Mathematik (1934) in Yale. Trat 1943 der US Navy Reserve bei; 1944 unter Howard Aiken dem Harvard Mark I zugeteilt; Mitverfasserin des Mark-I-Handbuchs. Trat 1949 bei Eckert-Mauchly/Remington Rand ein, um am UNIVAC I zu arbeiten. Stieg zur Konteradmiralin auf; schied im August 1986 als ältester aktiver Offizier der Navy aus; USS Hopper (DDG-70) ihr zu Ehren benannt. 

  5. “A-0 System,” Wikipedia. Von Grace Hopper 1951–1952 für den UNIVAC I geschrieben; weithin als der erste Compiler anerkannt, obwohl es eher wie ein Loader/Linker als ein moderner Compiler funktionierte – es nahm Unterprogramme entgegen, die per Aufrufnummer mit Argumenten angegeben wurden, und setzte lauffähigen Maschinencode zusammen. Gefolgt von A-1, A-2 und schließlich FLOW-MATIC. 

  6. “FLOW-MATIC,” Wikipedia. Unter Hopper bei Remington Rand entwickelt, 1955–1959; die erste Programmiersprache, die Operationen in englischähnlichen Anweisungen ausdrückte; produktionsreif 1958–1959; prägte COBOL direkt (über die CODASYL-Initiative von 1959) und gab Dateiorganisation, Datenqualifizierung und Programmabschnittsstruktur weiter. Siehe auch “COBOL,” Wikipedia, zu FLOW-MATIC als primärer Grundlage der Sprache. 

  7. “Grace Hopper Explains the Nanosecond,” ratfactor, Transkription ihres Vortrags; und “Grace Hopper to Programmers: Mind Your Nanoseconds!,” High Scalability. Eine Nanosekunde sind 11,8 Zoll Draht (die größte Strecke, die Elektrizität in einer Milliardstelsekunde zurücklegt); eine Mikrosekunde ist eine 984 Fuß lange Spule. „I sometimes think we ought to hang one over every programmer’s desk… so they know what they’re throwing away when they throw away microseconds.” 

  8. “Nanoseconds Associated with Grace Hopper,” und “Log Book With Computer Bug,” Smithsonian National Museum of American History. Die 11,8 Zoll langen Nanosekunden-Drähte und die Mark-II-Logbuchseite von 1947 mit der Motte befinden sich in der Sammlung des Museums. 

  9. “Bug (engineering),” Wikipedia, und “The First Use of ‘Bug’ in the Context of Computing,” HistoryofInformation.com. Am 9. September 1947 fanden Operatoren am Harvard Mark II eine Motte in Relais Nr. 70, Panel F und protokollierten „First actual case of bug being found.” Der Begriff „bug” für einen technischen Fehler ist Jahrzehnte älter (bis zurück zu Edisons Zeiten); Hopper war vermutlich nicht die Person, die die Motte fand, half aber, die Anekdote und die Begriffe „bug” und „debug” zu popularisieren. Siehe auch “The Bug in the Computer Bug Story,” JSTOR Daily. 

  10. “Grace Hopper,” Wikiquote. „If it’s a good idea, go ahead and do it. It’s much easier to apologize than it is to get permission.” Weithin Hopper zugeschrieben (und zitiert im Chips-Magazin der US Navy, Juli 1986); Wikiquote merkt an, dass der zugrunde liegende Gedanke früher als Hopper in gedruckter Form erscheint, sodass der Wortlaut ihr in der erinnerten Form gehört, während die Idee älter ist. Diskussion zur Zuschreibung: Quote Investigator. 

Verwandte Beiträge

Engineering-Philosophie: Barbara Liskov – Der Vertrag ist der Typ

Barbara Liskov machte Datenabstraktion zu einem Grundbaustein der Programmierung: Ein Typ ist der Vertrag, den er einhäl…

16 Min. Lesezeit

Engineering-Philosophie: Roberto Ierusalimschy

Roberto Ierusalimschy entwarf Lua nach einem einzigen Prinzip -- Mechanismen statt Vorgaben -- eine kleine, schnelle, ei…

20 Min. Lesezeit

The Shader Gallery That Lied: Debugging 216 WebGL Presets

A user said the shader playground looked broken. Pixel-readback testing found 30 dead presets, 11 that never compiled, a…

11 Min. Lesezeit