Ken thompson : le maître de l'efficacité, et son message alarmant
Ken Thompson, l'architecte discret de Unix, B et Go, a récemment érigé une observation qui pourrait bien redéfinir la façon dont on conçoit le logiciel : l'élimination du code superflu est, paradoxalement, la clé de la productivité et de la robustesse. Une simple affirmation, certes, mais qui révèle un malaise profond au cœur de l'industrie.

Une obsession pour la simplicité, héritée de bell labs
Thompson, dont la carrière remonte aux fins des années 60 avec Dennis Ritchie chez Bell Labs, a toujours prôné une philosophie de conception minimaliste. Son travail sur Unix, un système d'exploitation révolutionnaire, repose sur la modularité et l'exécution efficace de tâches spécifiques. Cette approche se retrouve ensuite dans le langage B, ancêtre direct de C, et plus tard dans Go, un langage conçu pour la production à grande échelle.
Il estime, avec une franchise rare, qu’un jour, en supprimant 1 000 lignes de code inutiles, il a atteint un niveau de productivité sans précédent. Une perspective qui, loin d'être une simple anecdote, souligne une vérité fondamentale : chaque ligne ajoutée représente un risque, une complexité potentielle, et un obstacle à la maintenance. C’est une dette technique qui s’accumule silencieusement, comme un poison lent.
L’intelligence artificielle, en pleine mutation du marché du travail, ne crée pas que des opportunités. Elle exacerbe la pression sur les équipes de développement. Les métriques de productivité, souvent basées sur le nombre de lignes de code écrites, ignorent le coût réel de cette prolifération. Elles occultent la fragilité que cela engendre, le temps perdu à comprendre un code de plus en plus labyrinthique.
Thompson ne se contente pas de constater ce phénomène ; il le condamne. Pour lui, la véritable ingénierie logicielle réside dans la capacité à identifier ce qui n'est pas nécessaire, à éliminer le superflu, à simplifier les systèmes au maximum.Comme Bjarne Stroustrup, créateur de C++, Thompson voit le programmeur comme un artisan, un sculpteur de la logique, qui doit maîtriser l’art de la suppression autant que celui de l’ajout. Go, avec sa syntaxe épurée et son souci de la clarté, incarne parfaitement cette philosophie. Elle contraste frontalement avec des langages comme C++ ou Java, souvent trop complexes et alambiqués.
L'héritage de Thompson est donc bien plus qu'une série de systèmes d'exploitation et de langages de programmation. C'est une leçon d'humilité, un rappel que la simplicité est souvent la plus grande force. Il n'y a que deux types de langages de programmation : ceux que les gens détestent et ceux qu'on n'utilise pas.