Ken thompson : le code minimaliste, une arme secrète face à l'ia
Ken Thompson, figure tutelary de l’informatique, a récemment affirmé que sa plus grande prouesse technique fut l’élimination de 1000 lignes de code. Un aveu qui sonne comme un appel à la clarté, un antidote à la prolifération du code dans un monde submergé par l’intelligence artificielle.

L’héritage d’un minimaliste
L’histoire de Ken Thompson est inextricablement liée à celle de Unix. Avec Dennis Ritchie, il a posé les fondations d’un système d’exploitation qui a révolutionné la conception du logiciel. Mais ce n’est pas seulement Unix qui témoigne de son génie. Le langage B, précurseur direct de C, et Go, son dernier chef-d’œuvre, sont autant d’exemples de sa philosophie : privilégier la simplicité et l’efficacité à la complexité accrue.
Thompson, véritable disciple de la doctrine du « moins », a toujours défendu l’idée que moins, c’est plus. Il a constamment insisté sur l’importance d’éliminer le superflu, de supprimer les lignes de code inutiles, de laisser les systèmes aussi simples que possible. Une approche qui, aujourd’hui, pourrait s’avérer particulièrement pertinente face à la prolifération des modèles d’IA et à la complexité croissante des logiciels.
« Il faut écrire uniquement ce qui est nécessaire, éliminer tout ce qui est superflu, et laisser les systèmes plus simples qu’ils ne sont », a-t-il déclaré. Une phrase qui résonne avec une acuité particulière dans un contexte où la productivité est souvent mesurée par la quantité de code écrite.
Le danger de la dette technique
L’accumulation de code excessif engendre une dette technique, un fardeau invisible qui complique les modifications futures et augmente les risques d’erreurs. Chaque ligne ajoutée est une porte d’entrée potentielle pour les bugs, un obstacle supplémentaire à la maintenance et une source de complexité accrue. Thompson met en garde contre cette tendance à la prolifération du code, qualifiant la simplification d’un impératif stratégique. “Éliminer le code, ce n’est pas reculer, c’est réduire la surface d’erreur, simplifier l’architecture et préparer le terrain pour des évolutions futures plus rapides et plus sûres.”
Go, l’incarnation de la philosophie
Le langage Go, créé par Thompson et ses collaborateurs chez Google, est un parfait exemple de cette approche minimaliste. Sa syntaxe est claire et concise, ses mécanismes de concurrence sont conçus pour être faciles à comprendre, et sa philosophie repose sur le principe que chaque élément non présent dans le langage est une complexité que le programmeur doit éviter. C’est une réaction directe à la complexité excessive de langages comme C++ ou Java, où l’on privilégie la puissance à la lisibilité.
La productivité, une illusion ?
La pression pour augmenter la productivité se traduit souvent par une course aux lignes de code, une obsession pour la quantité au détriment de la qualité. Mais cette approche est dangereuse, car elle ignore le coût caché de la complexité, le temps nécessaire aux autres équipes pour comprendre le code, et la fragilité qu’elle engendre. Thompson nous rappelle que la véritable productivité réside dans la capacité à simplifier, à éliminer le superflu et à concevoir des systèmes robustes et maintenables. Il faut programmer bien, pas juste écrire plus.