Ken thompson : quand la simplicité du code devient une révolution
Ken Thompson, figure emblématique de l'informatique, nous rappelle une vérité fondamentale : parfois, moins est plus. Alors que l'IA remodèle le paysage professionnel, l'ingénieur, co-créateur de Unix, Go et du langage B, révèle un jour de productivité exceptionnelle, fruit d'une suppression massive de lignes de code. Une leçon d'humilité et d'efficacité qui résonne particulièrement fort à l'heure où la complexité semble régner en maître.
L'héritage d'unix : une philosophie minimaliste
Thompson a commencé à écrire l'histoire du logiciel à la fin des années 1960, aux laboratoires Bell, avec Dennis Ritchie. Leur collaboration a donné naissance à Unix, bien plus qu'un simple système d'exploitation. C'était une vision de l'informatique, une architecture modulaire où des outils simples et efficaces collaboraient pour former un système robuste. Cette philosophie de construction minimaliste a guidé Thompson dans chaque projet qui a suivi, de B à Go, en passant par C.
Le langage B, conçu comme successeur de BCPL, a posé les bases du C, le langage de programmation qui est resté un standard absolu pendant des décennies. Décennies plus tard, chez Google, Thompson a co-créé Go, un langage pensé pour les systèmes de production à grande échelle, toujours fidèle à cette même logique : privilégier la simplicité à la sophistication, la clarté à la complexité.

Pourquoi effacer du code est plus précieux que l'écrire
Chaque ligne de code ajoutée représente également une ligne à lire, comprendre et maintenir. C'est un point de vulnérabilité potentiel, un espace supplémentaire à tester et une complexité qui entrave les modifications futures. Un système qui grossit sans discernement s'enrobe d'une dette technique silencieuse, rendant chaque petite modification une opération risquée.
C'est là que l'intuition de Thompson prend tout son sens. Supprimer du code, ce n'est pas reculer, c'est réduire la surface d'attaque, simplifier l'architecture et créer un système plus résilient. Cela exige plus de jugement que d'ajouter de nouvelles fonctionnalités, car il faut comprendre le système en profondeur, identifier ce qui est véritablement essentiel et se débarrasser du superflu. Il s'agit d'une forme d'élagage, d'une chirurgie informatique qui renforce le système à long terme.

Go : l'incarnation de la clarté
Go est né de cette obsession pour la clarté. Comparé à des langages comme C++ ou Java, sa syntaxe est délibérément épurée, son système de types direct et ses mécanismes de concurrence conçus pour être compris, pas seulement utilisés. Thompson et ses collaborateurs ont appliqué ce principe fondamental : chaque élément absent du langage est une complexité que le programmeur n'a pas à gérer. Cette approche contredit une tendance persistante dans de nombreuses équipes de développement, où la productivité est encore mesurée en lignes de code écrites, ignorant le coût caché de la maintenance et de la fragilité.
La leçon de Ken Thompson est simple, mais puissante. Programer efficacement, ce n'est pas écrire plus, c'est savoir exactement ce qu'il ne faut pas écrire. Une philosophie qui, loin d'être une relique du passé, est plus pertinente que jamais à l'ère de l'IA et de la complexité croissante.
L'ingénieur a ainsi révélé qu'il avait eu un de ses jours les plus productifs en effaçant 1 000 lignes de code. Un chiffre qui témoigne de la puissance d'une approche minimaliste et réfléchie, une approche que les meilleurs ingénieurs logiciels mettent en pratique depuis des décennies.