Zahlen, bitte! Relais 70 defekt – Von der Geschichte des "Bugs"
Die Geschichte des "Bugs" beginnt gemeinhin mit der Coderin Grace Hopper und einem toten Insekt. Doch der Begriff ist älter – ein Insekt war aber beteiligt.
![Zahlen, bitte! Relais 70 defekt – Von der Geschichte des "Bugs"](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/7/4/5/7/1/0/Unbenannt-b9b51692d1c3e61d.jpeg)
Am 9. September 1947 funktionierte der Computer Mark II nicht richtig. Die Fehlersuche dauerte 5 Stunden und förderte eine Motte zu Tage, die im elektormagnetischen Relais Nr. 70 des Panel F vom Strom getötet worden war. Der diensthabende Operator Bill Burke nahm die Motte, klebte sie ins Logbuch, das beim Naval Surface Warfare Computer geführt wurde und schrieb dazu: "15:45 First actual case of bug being found." (Erster tatsächlicher Fall eines gefundenen Bugs.) Soweit die Geschichte und die Legende kann beginnen.
Wer hat's erfunden?
In verschiedenen Varianten erzählte die Mathematikerin Grace Hopper später von dieser Motte. Hopper war damals für die Programmierung des Mark II verantwortlich und so entwickelte sich das, was man heute noch bei der durchaus seriösen Gesellschaft für Informatik als Fakt ansieht: "Der Begriff 'Bug' für Software-Fehler geht auf sie zurück: Eines Tages klebte sie eine tote Motte in ihr Logbuch und versah diese mit dem Kommentar 'First actual case of bug being found'."
(Bild: Public Domain)
Besagte Motte hatte wirklich existiert, wie es ein Foto der Logbuch-Seite zeigt (siehe Bild). Doch sowohl der Begriff Bug für ein hartnäckiges technisches Problem wie der Begriff "debuggen" für die Fehlersuche sind älter. Die erste Erwähnung findet sich 1896 in dem US-amerikanischen "Hawkin's New Catechism of Electricity". Dort heißt es: "The term 'bug' is used to a limited extend to designate any fault or trouble in the connections or working of electronic apparatus." (Der Begriff "Bug" wird zu einem Teil für jedweden Fehler beziehungsweise jedes Problem in den Verbindungen oder dem Funktionieren eines elektronischen Apparats benutzt.) In dieser Definition wird der Begriff nach und nach Allgemeingut und taucht 1934 im "Webster's New International Dictionary" auf. Dort steht kurz und bündig: "bug, n...3. A defect in apparatus or its operation. Slang, U.S." (Ein Defekt in einem Apparat oder dessen Funktion.)
Schon in "Hawkin's New Catechism" findet sich der Hinweis, dass der "Bug" als solcher in den Labors entstand, die der Erfinder Thomas Alva Edison unterhielt. Doch wie genau der Begriff entstand und dass es Edison selbst war, der ihn einführte, kam erst ans Tageslicht, als Briefe von Edison versteigert wurden. Am 3. März 1878 schrieb Edison einen kalligraphisch ausgeschmückten Brief an William Orton, dem Präsidenten der Telegraphiegesellschaft Western Union, nachdem eine Demonstration seiner Telefonie misslungen war: "You were partly correct. I did find a 'bug' in my apparatus, but it was not in the telephone proper. It was of the genus 'callbellum.' The insect appears to find conditions for its existence in all call apparatus of telephones."(Du hattest teilweise Recht. Ich habe einen "Käfer" in meinem Apparat gefunden, aber er war nicht im Telefon selbst. Es war ein "callbellum". Das Insekt scheint Bedingungen für seine Existenz in allen Anrufteilen von Telefonen zu finden.)
Etwas später, am 18. November 1878 erklärte Edison die Sache mit dem Bug genauer in einem Brief an Tivadar Puskás, dem Erfinder der Telefonzentrale und der Telefonzeitung: "It has been just so in all my inventions. The first step is an intuition – and comes with a burst, then difficulties arise. This thing gives out and then that – "Bugs" –- as such little faults and difficulties are called – show themselves and months of anxious watching, study and labor are requisite before commercial success – or failure – is certainly reached". (Es war bei all meinen Erfindungen so. Der erste Schritt ist Intuition, die mit einem Schlag kommt und dann kommen die Schwierigkeiten. Die gehen zu Ende und dann zeigen sich die Bugs, kleine Fehler und Schwierigkeiten. Monate genauen Beobachtens, Studierens und Versuchens sind nötig, bevor kommerzieller Erfolg – oder Misserfolg – werden erreicht.)
Siemens sprach von "Macke"
Erst kommt der große Wurf, dann gilt es, all die kleinen Problemchen auszumerzen, die in der Laborpraxis gefunden werden. Wir lesen, wie Edison praktisch das "debugging" beschreibt, auch wenn dieses Wort nicht in seinen gesammelten Werken zu finden ist. Dennoch ist auch dieses Verb vor dem 9. September 1947 nachweisbar, als die Motte ins Logbuch geklebt wurde. In einem Artikel für das "Journal of the Royal Aeronautical Society" beschreibt ein Autor die Entwicklung eines neuen Flugzeugmotors im Jahre 1945 so: "It ranged from the pre-design development of essential components, through the stage of type test and flight test and ‘debugging’ right through to later development of the engine." (Es reichte von der Entwicklung des Pre-Designs wichtiger Komponenten, zu den Typen- und Flugtests und dem "Debugging" bis zur späteren Entwicklung der Triebwerke) Festhalten kann man, dass wahrscheinlich alle Erfinder und Tüftler ein Wort für die kniffligen, lästigen Probleme hatten. Bei Werner von Siemens war es das jiddische Wort Macke, das aus dem hebräischen máke (Plage) entstand. Was eine "Macke" hatte, musste sein Partner Johann Georg Halske wegtüfteln.
Zurück zu Grace Hopper, die als promovierte Mathematikerin über das WAVES-Programm (Women Accepted for Volunteer Emergency Service) der US-Marine dem Team um Howard Aiken zugeteilt wurde, als der Computer Mark I in Betrieb genommen wurde. Als Hopper am 2. Juli 1944 im Rang einer Offizierin bei Aikens vorsprach, zeigte dieser auf den Mark 1: "That's a computer engine. I would be delighted to have the coefficients for the interpolation of the arc tangent by next Thursday." (Das ist eine Computer-Maschine. Ich wäre erfreut, wenn ich die Koeffizienten für die Interpolierung der Kreisbogen-Tangenten bis nächsten Donnerstag hätte.) Als eine von zunächst drei Programmierern (damals Coders genannt, im Unterschied zu den Operators, die die Maschine bedienten) setzte Hopper die Aufgabe gerade rechtzeitig um.
Später schrieb sie auf Anweisung von Aiken das Benutzerhandbuch für den Mark I. Nach der Arbeit am Mark II ging die Mobilmachung der WAVES ihrem Ende entgegen und Hopper wurde aus Altersgründen nicht von der Navy übernommen. Sie wechselte zu Remington Rand und schrieb den Compiler A-0 für die UNIVAC und entwickelte die Programmiersprache Flow-Matic. Auch an der Entwicklung von COBOL war sie beteiligt. Vor 60 Jahren war Anfang September der erste Entwurf von COBOL fertig. Dabei einigte man sich auf die Konvention, beim Datumsformat nur die letzten beiden Jahresziffern zu speichern, um Speicherplatz zu sparen: 1959 dachte man an alles mögliche, nur nicht an das Jahr 2000. Im Zuge der allgemeinen Hysterie über den Millennium Bug geriet Grace Hopper kurz vor ihrem Tode noch einmal in die Schlagzeilen, wie es die Wikipedia formuliert. Mitunter wurde sie die Mutter des Millennium Bugs genannt, auch das eine kleine Ungenauigkeit und große Ungerechtigkeit. (mho)