technologie

Ken thompson : moins de code, plus d’impact. une leçon de l’inventeur de go

Ken Thompson, figure discrète mais monumentale de l’informatique, a récemment partagé un secret de productivité qui pourrait bien bouleverser la manière dont nous concevons les logiciels : supprimer du code. Une révélation qui, venant d’un homme ayant co-créé Unix, conçu le langage B et participé à la genèse de Go, mérite toute notre attention.

L'héritage d'unix : une philosophie de la simplicité

Thompson n’est pas un novateur au sens conventionnel du terme. Son génie réside dans sa capacité à identifier l’essentiel, à éliminer le superflu. Cette approche, née avec Unix à la fin des années 60, repose sur une architecture modulaire, où chaque outil, chaque composant, accomplit une tâche précise et se combine harmonieusement avec d’autres. On pourrait dire qu’il a instauré, dès le départ, une forme de minimalisme fonctionnel, loin des dérives de complexité que l’on observe trop souvent aujourd’hui.

Le langage B, qu’il a conçu comme successeur de BCPL, a pavé la voie à Ritchie pour développer C, le langage qui a dominé la programmation système pendant des décennies. Décennies plus tard, chez Google, Thompson a co-créé Go, un langage pensé pour la production à grande échelle, fidèle à cette même philosophie : la clarté prime sur la sophistication, la simplicité sur la complexité. Go, avec sa syntaxe épurée et son système de types direct, incarne cette volonté d’éviter la surcharge cognitive.

Pourquoi la suppression de code est plus précieuse que l

Pourquoi la suppression de code est plus précieuse que l'écriture

Chaque ligne de code ajoutée est une dette technique potentielle. Une obligation de maintenance, un point de vulnérabilité supplémentaire, une entrave aux évolutions futures. Un système gonflé de fonctionnalités inutiles finit par devenir un labyrinthe opaque, où la moindre modification se transforme en une opération risquée. Thompson l'a compris : réduire la surface d'erreur, c'est autant simplifier la maintenance, accélérer les mises à jour et renforcer la sécurité.

C’est un acte d’audace intellectuelle qui exige une connaissance approfondie du système et un jugement implacable. Il faut savoir distinguer l’essentiel du superflus, oser se débarrasser de ce qui n’est pas strictement nécessaire. Une compétence bien plus exigeante que l'ajout de nouvelles fonctionnalités, souvent motivées par des impératifs de mode ou par une course à l'illusion de la productivité.

La tendance actuelle, obsédée par le nombre de lignes de code produites, ignore le coût caché de cette prolifération : le temps perdu à comprendre et maintenir ce code, la fragilité qu’il engendre. C’est une métrique obsolète, une relique d’une époque où la complexité était perçue comme un signe de sophistication.

La philosophie de Go, en éliminant délibérément les éléments superflus, est une réponse à ce constat. Chaque absence de fonctionnalité est une simplification, une invitation à la clarté. Et Thompson, avec sa franchise désarmante, nous rappelle que la véritable productivité ne se mesure pas en lignes de code, mais en solutions élégantes et durables.

Ken Thompson n'a pas besoin de nous le dire, mais son parcours parle pour lui : la simplicité, c’est la clé de la pérennité.