Ich habe in der Vergangenheit mehrfach behauptet, Bill Gates sei kein brillanter Programmierer (zum Beispiel hier). Eine zugegeben waghalsige Behauptung, da ich in Erinnerung hatte, diese Stelle in einem Buch gelesen zu haben, aber sie ums Verr***en nicht mehr auffinden konnte. Das fragliche Buch hatte ich offenbar einmal weggegeben, und der Titel ist mir auch nicht mehr eingefallen. Also nicht gerade das, was man einen guten Beleg nennt.
Nun ging mir die Sache neulich wieder einmal durch den Kopf. Bei einem neuerlichen Recherche-Anlauf bin ich fündig geworden. Die Stelle stammt aus dem Buch Barbarians Led by Bill Gates – Microsoft von Innen betrachtet. Marlin Eller beschreibt, wie der die Anfänge von Microsoft miterlebt hat. Das tut er hier, indem er von sich in der dritten Person schreibt¹. Zitiert ist die fragliche Stelle auf techrights.org:
Leicht angeekelt, dass er gerade einem Unternehmen beigetreten war, das fehlerhafte Software vertrieb, entschied sich Eller, die Sache selbst in die Hand zu nehmen. Nachdem er in Fachzeitschriften geforscht und nahezu zwei Wochen auf das komplizierte Problem verwendet hatte, hackte Eller eine Lösung zusammen und schrieb den neuen Algorithmus für die Flutfüllung. Obwohl es quälend langsam war und die Füllung über den Bildschirm kroch, ermächtigte der Code Basic zu fehlerfreier Flutfüllung.
Eller rief seinen Boss ins Büro. Whitten war alles andere als begeistert. Er hatte das Projekt genehmigt, aber Eller hatte zwei Wochen auf die Flutfüllung verwendet und den Übersetzer ignoriert, den er hätte schreiben sollen. Unbeeindruckt verbreitete sich Eller darüber, welchen Fehler er gefunden und wie er ihn behoben hatte. Er holte jeden beliebigen Entwickler dazu, den er gerade finden konnte. Sogar den Vorstandsvorsitzenden Bill Gates, dessen Büro ein paar Räume weiter lag.
«Bill, sieh dir das an», sagte Eller und deutete auf seinen Computerbildschirm. «Ich frage mich, wer der Trottel war, der dieses hirnlose Stück Scheisse geschrieben hat?»
Gates starrte auf den Bildschirm.«Sieh her, das nenne ich einen Konstruktionsfehler», sagte Eller. «Nun lass dir meine neue Version vorführen. Ziemlich toll, nicht?»
Gates nickte und schob die Brille zurück auf den Nasenrücken.
«Funktioniert das auch mit wirklich komplizierten Formen?» frage Gates.
«Klar», antwortete Eller. Er hob an, eine wirklich komplizierte Form zu zeichnen und sie mit Flutfüllung zu füllen.
«Siehst du. Es funktioniert perfekt.»
«Kannst du beweisen, dass dieser Code immer funktioniert?»
«Hm, gut, ähh, gewissermassen», sagte Eller. «Ich meine, ich weiss, dass es immer funktioniert, aber ich bin ein Mathematiker. Das Wort ‹beweisen› beschwört sehr hässliche Ideen herauf.»Gates sagte Eller, sein Programm sei gelungen, drehte sich um und ging zurück in sein Büro.
Nachdem Gates weg war, kam Whitten in Ellers Büro. Er hatte die ganze Diskussion gehört.
«Weisst du, wer den ursprünglichen Flutfüllungsalgorithmus geschrieben hatte?», fragte er, den Kopf schüttelnd.
«Ähhm, nein», antwortete Eller. «Ich denke nicht, dass ich das weiss.» – Whitten legte eine Pause ein, massierte mit seinem Finger die linke Schläfe und schüttelte den Kopf erneut.«Bill hat ihn geschrieben», sagte er. «Bill war der Trottel, der dieses hirnlose Stück Scheisse geschrieben hat.»
Quod erat demonstrandum – und soll mir ja keiner kommen und sagen, das sei die Anekdote eines selbstgefälligen Aufschneiders, die nun gar nichts beweisen würde …
Fussnoten
1) Die Übersetzung stammt von mir. Hier der Vollständigkeit halber der Text im Original:
Slightly disgusted that he had just joined a company [Microsoft] that was shipping defective software, Eller decided to take matters into his own hands. After researching graphics journals and spending nearly two weeks on this complicated problem, Eller finally hacked out a solution and wrote the new flood-fill algorithm. Though it was painfully slow and crawled across the screen, it did enable BASIC to correctly flood-fill.
Eller called his boss into his office once again. Whitten was less than thrilled. He had authorized the work, but Eller had spent two weeks on the flood-fill, ignoring the translator he was supposed to be writing. Undaunted, Eller set out to let others in on the flaw he had discovered and how he had fixed it. He pulled in any random developer he could find. He even pulled in Chairman Gates, whose office was just down the hall.
“Bill, check this out,” Eller said, pointing to his computer screen. “I mean . . . who was the jerk who wrote this brain-dead piece of shit?”Gates stared at the screen.
“See, now that’s what I call a design flaw,” Eller said. “Now check out my new version. Pretty cool, eh?”
Gates nodded, pushing his glasses up the bridge of his nose.
“Does it work with really complicated things?” Gates asked.
“Sure,” Eller told him. He proceeded to draw a complicated object and flood-fill it.
“See? It works perfectly.”
“Can you prove that this works all the time?”
“Uhh, well umm, kind of,” Eller said. “I mean, I know it always works, but I’m a mathematician. The word ‘prove’ conjures up really ugly ideas.”
Gates told Eller his program was nice, then turned and walked back to his office.
After Gates left, Whitten walked into Eller’s office. He had heard the entire conversation.“Do you know who wrote the original flood-fill algorithm?” he said, shaking his head.
“Ahhh, nope,” Eller replied. “I don’t believe I do.” Whitten paused, rubbed his finger on his left temple, and shook his head again.
“Bill wrote it,” he said. “Bill was the jerk who wrote this brain-dead piece of shit.”