Thompson entkräftigt: 1.000 zeilen code – der schlüssel zur software-effizienz

Der legendäre Ken Thompson, Pionier der modernen Softwareentwicklung, hat eine radikale These aufgestellt: Weniger ist mehr. Und das mit einer konkreten Zahl, die die Branche schockiert hat – er behauptet, einst 1.000 Zeilen Code entfernt hatte, um die Effizienz zu steigern.

Ein lebenswerk im dienste der einfachheit

Thompson, dessen Namen untrennbar mit Unix, B und Go verbunden ist, hat über Jahrzehnte hinweg die Grundlagen vieler moderner Systeme gelegt. Er begann seine Karriere Ende der 60er Jahre zusammen mit Dennis Ritchie an den Bell Labs, wo Unix entstand – nicht nur ein Betriebssystem, sondern ein Paradigma der Computerarchitektur. Diese Philosophie der minimalistischen Konstruktion, die auf modulare Komponenten setzt, die jeweils eine Aufgabe meistern, prägt bis heute seine Arbeit.

Der Sprach-Vorläufer C, entwickelt von Ritchie, basierte direkt auf Thompsons Design von B. Jahrzehnter später, bei Google, war er maßgeblich an der Entwicklung von Go beteiligt, einer Sprache, die die Prinzipien der Einfachheit und Klarheit in den Mittelpunkt stellt – ein Ansatz, der bewusst von der Komplexität von Sprachen wie C++ oder Java abweicht.

Die tragweite weniger code

Die tragweite weniger code

Thompson argumentiert, dass jede hinzugefügte Codezeile potenziell eine neue Fehlerquelle darstellt, mehr Platz für Wartung benötigt und die zukünftige Anpassung erschwert. Es ist ein subtiler, aber entscheidender Punkt. Das Problem entsteht nicht durch den Code selbst, sondern durch die Komplexität, die er erzeugt. Die wachsende Verschuldung an technischer Schulden, ein Phänomen, das in vielen Entwicklungsteams allgegenwärtig ist, wird durch die Anhäufung von unnötigem Code verstärkt. Jede Modifikation wird dann zu einem riskanten Unterfangen.

Ki und die herausforderung der effizienz

Ki und die herausforderung der effizienz

In Zeiten, in denen Künstliche Intelligenzen immer leistungsfähiger werden und komplexe Programme generieren können, scheint die Notwendigkeit der Reduktion von Code zu verharmlost zu werden. Doch Thompson mahnt: “Programmieren ist nicht darin zu bestehen, mehr zu schreiben, sondern genau zu wissen, was nicht geschrieben werden muss.” Die aktuelle Tendenz, die Produktivität anhand der Code-Zeilenanzahl zu messen, ignoriert die langfristigen Konsequenzen – die Komplexität und die Anfälligkeit für Fehler.

Go: ein beweis für den ansatz

Go: ein beweis für den ansatz

Go ist ein Paradebeispiel für Thompsons Philosophie. Die Sprache wurde bewusst so gestaltet, dass sie die Komplexität eliminiert, die in anderen Sprachen oft vorhanden ist. Die Syntax ist prägnant, die Typisierung direkt und die Mechanismen für die Nebenläufigkeit – verständlich. Es ist eine bewusste Entscheidung, die auf der Erkenntnis basiert, dass weniger oft mehr ist.

Bjarne Stroustrup, der Schöpfer von C++, brachte es auf den Punkt: „Es gibt nur zwei Arten von Programmiersprachen: diejenigen, von denen die Leute sich beschweren, und diejenigen, die niemand benutzt.“ Thompson’s Ansatz ist ein Appell zur Besonnenheit, zur Reduktion und zur kühnen Entscheidung, was wirklich notwendig ist – ein Aufruf zur Software-Minimalismus.