Die Python-Gemeinschaft trauert um einen ihrer prägendsten Köpfe: Tim Peters ist tot. Python-Erfinder Guido van Rossum teilte am 11. November 2026 im offiziellen Diskussionsforum der Python-Entwickler mit, dass Peters bereits am 15. Juli 2026 gestorben ist. Die Mitteilung trägt die Überschrift „In Memoriam: Tim Peters 1952–2026“. Angaben zur Todesursache enthält sie nicht.
Wer Python benutzt, benutzt täglich Peters’ Arbeit, meist ohne es zu wissen: bei jedem Aufruf von sorted(), bei jedem Doctest und immer dann, wenn eine Ganzzahl und eine Gleitkommazahl ohne Umstände miteinander verrechnet werden.
Mentor und Mitgestalter der frühen Jahre
Van Rossum beschreibt Peters in seinem Beitrag als Mentor und Mitgestalter der Sprache, lange bevor dessen bekanntester Text entstand. Peters habe Python kurz nach der ersten Veröffentlichung entdeckt. Seine erste Tat sei gewesen, van Rossum davon zu überzeugen, dass Python gemischte Arithmetik zwischen int und float unterstützen sollte, weil die meisten Nutzer genau das erwarten würden.
Auf der Python-Mailingliste wurde Peters schnell zu einer Institution. Seine zahllosen sorgfältigen und geduldigen Antworten brachten ihm den Spitznamen „Timbot“ ein. Sein milder Humor war stets mit <wink> oder <0.5 wink> markiert, und wenn er die mutmaßliche Meinung des Sprachschöpfers vorwegnahm, nannte er das „channeling Guido“. Van Rossum schreibt, Peters habe den Ton der frühen Kernentwicklung gesetzt: Er habe niemanden schroff abgewiesen und stets ausführlich erklärt, warum etwas funktionieren könne oder nicht.
Die Python Software Foundation (PSF) zeichnete Peters mit ihrem Distinguished Service Award für das Jahr 2017 aus. Nach der Erinnerung seines früheren Kollegen Chris McDonough im Kondolenz-Thread hatte Peters vor seiner Python-Zeit Compiler für Supercomputer bei Cray Research und Spracherkennungssoftware bei Dragon Systems entwickelt.
„The Zen of Python“: 19 Zeilen Programmierphilosophie
Am bekanntesten ist Peters für „The Zen of Python“. Der kurze Text fasst die Leitgedanken hinter Pythons Entwurf zusammen und entstand nach Angaben der PSF 1999; seit August 2004 ist er als PEP 20 Teil der offiziellen Dokumente der Sprache. Die Zusammenfassung des PEP spricht von 20 Aphorismen, von denen nur 19 niedergeschrieben wurden. Sätze wie „Explicit is better than implicit“ oder „Readability counts“ gehören bis heute zum festen Wortschatz in Code-Reviews. Jeder Python-Interpreter bringt den Text als kleines Osterei mit:
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
...Timsort: Sortieren, wie Daten wirklich aussehen
2002 schrieb Peters für Pythons Listen einen neuen Sortieralgorithmus, den er in der zugehörigen Entwurfsnotiz mit einem Augenzwinkern „timsort“ nannte. Mit Python 2.3 löste er das bis dahin verwendete Verfahren ab. Die Grundidee: Echte Daten sind selten völlig zufällig angeordnet. Meist enthalten sie Abschnitte, die schon sortiert sind – etwa eine Tabelle, an die neue Zeilen angehängt wurden. Timsort sucht deshalb in einem Durchgang von links nach rechts nach solchen natürlichen Läufen („runs“). Ein absteigender Lauf wird einfach umgedreht.
Ist ein Lauf sehr kurz, füllt Timsort ihn mit einem binären Einfügesortieren auf eine Mindestlänge von einigen Dutzend Elementen auf. Die gefundenen Läufe merkt sich das Verfahren auf einem Stapel und mischt sie nach festen Regeln paarweise zu immer längeren sortierten Abschnitten, bis nur noch einer übrig ist. Stellt es beim Mischen fest, dass ein Lauf viele Elemente in Folge beisteuert, schaltet es in einen „Galopp“-Modus und überspringt ganze Blöcke, statt Element für Element zu vergleichen.
Daraus ergeben sich die Eigenschaften, die Timsort so beliebt gemacht haben. Für eine bereits sortierte Liste mit N Elementen genügen N−1 Vergleiche, während es bei zufälligen Daten nach Peters’ Notiz so schnell bleibt wie der zuvor in Python verwendete Algorithmus. Als Preis nennt Peters selbst den Speicherbedarf: Im ungünstigsten Fall braucht das Verfahren einen Hilfsspeicher für halb so viele Zeiger, wie die Liste Elemente hat. Vor allem aber ist Timsort stabil: Weil immer nur benachbarte Läufe gemischt werden, behalten Elemente mit gleichem Schlüssel ihre ursprüngliche Reihenfolge. Das erlaubt es, nacheinander nach mehreren Kriterien zu sortieren. Die Python-Dokumentation zeigt das an einem Beispiel:
>>> from operator import itemgetter
>>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]
>>> sorted(data, key=itemgetter(0))
[('blue', 1), ('blue', 2), ('red', 1), ('red', 2)]
Schrittweise Visualisierung eines Timsort-Durchlaufs. Bild: crashmatrix, gemeinfrei (Public Domain), via Wikimedia Commons
Der Algorithmus blieb nicht auf Python beschränkt. Die Klasse TimSort im OpenJDK wurde laut Quelltextkommentar von Josh Bloch aus Peters’ Listensortierung übernommen. Die JavaScript-Engine V8 sortiert Arrays seit Version 7.0 (Chrome 70) mit Timsort. Van Rossum nennt in seinem Nachruf außerdem Android. In CPython selbst wurde später die Regel, in welcher Reihenfolge Läufe gemischt werden, durch die „Powersort“-Strategie von J. Ian Munro und Sebastian Wild ersetzt; das Grundgerüst stammt weiterhin von Peters. Seine Datei listsort.txt im CPython-Quelltext gilt als Lehrstück: Petr Viktorin schreibt im Kondolenz-Thread, er sei nach dem Studium überwältigt gewesen, wie viel Tiefe, Sorgfalt, gesunder Menschenverstand und Menschlichkeit in eine technische Notiz passen.
Doctest und schnelle Arithmetik
Auch das Modul doctest geht auf Peters zurück; im Kopf der Quelldatei steht, dass er es am 16. Januar 2001 gemeinfrei veröffentlicht hat. Das Modul sucht in Docstrings nach Text, der wie eine interaktive Python-Sitzung aussieht, und führt ihn aus, um zu prüfen, ob die Beispiele noch stimmen. Dokumentation wird so zum Test. Die Änderungsnotizen zu Python 2.3 nennen Peters zudem bei der schnelleren Multiplikation sehr großer Ganzzahlen nach dem Karatsuba-Verfahren, deren ursprünglichen Patch er maßgeblich überarbeitet hat.
Die letzten Jahre
Zu einer vollständigen Würdigung gehört auch ein Konflikt. Im August 2024 suspendierte der Lenkungsausschuss der Python-Entwickler (Steering Council) Peters für drei Monate und begründete das mit wiederholten Verstößen gegen den Verhaltenskodex. Die Entscheidung war in der Gemeinschaft umstritten, wie das Fachmagazin LWN im Dezember 2024 berichtete; Peters selbst hielt die Vorwürfe für unbegründet, schrieb aber, er habe seinen Diskussionsstil geändert. Nach Ablauf der Sperre Anfang November 2024 kehrte er ins Forum zurück und beteiligte sich wieder an Fachdiskussionen. Mehrere Stimmen im Kondolenz-Thread kommen darauf zurück, teils mit Bedauern über den damaligen Umgang mit ihm.
Überwiegend erinnern sich Weggefährten dort an seine Art: Er habe niemanden wie einen Dummkopf behandelt und immer geantwortet und erklärt, schreibt Chris Angelico. Mark Dickinson nennt Peters’ Texte und Code prägend für seinen eigenen Weg in die Kernentwicklung. Im Blog der PSF stand am 12. November 2026 noch kein eigener Nachruf.
Van Rossum schließt seinen Beitrag in dem Stil, den Peters auf den Mailinglisten berühmt gemacht hat: „Python-would-not-be-what-it-is-today-without-Tim-ly y’rs“ – sinngemäß: Python wäre ohne Tim nicht, was es heute ist.
Quellen
- Guido van Rossum, Discussions on Python.org: In Memoriam: Tim Peters 1952–2026 (11.11.2026)
- Python Enhancement Proposals: PEP 20 – The Zen of Python (19.08.2004)
- CPython-Quelltext: Objects/listsort.txt (Tim Peters’ Beschreibung von Timsort)
- Python-Dokumentation: What’s New in Python 2.3
- Python-Dokumentation: Sorting Techniques
- OpenJDK-Quelltext: java/util/TimSort.java
- V8-Blog: Getting things sorted in V8 (28.09.2018)
- CPython-Quelltext: Lib/doctest.py
- Python-Dokumentation: doctest – Test interactive Python examples
- Python Software Foundation: The Happy Medium – Distinguished Service Award Winner Tim Peters (18.07.2018)
- LWN.net: Tim Peters returns to the Python community (23.12.2024)
Bildnachweis
- Aufmacher (Symbolbild, Ausschnitt): Python-Quelltext auf einem Bildschirm von Weal2019, Lizenz CC0, via Wikimedia Commons
- Bild im Text: Schrittweise Visualisierung des Sortieralgorithmus Timsort von crashmatrix, gemeinfrei (Public Domain), via Wikimedia Commons