Ken thompson : le code minimaliste, une révolution silencieuse
Ken Thompson, figure de proue de l’informatique, a redéfini les règles du jeu. À 82 ans, cet homme, co-créateur de Unix, de B et de Go, continue de nous rappeler une vérité fondamentale : moins, c’est plus.
L’art de la simplicité, un héritage incontournable
Thompson, dont l’approche se distingue par une rigueur impressionnante, a commencé sa carrière dans les laboratoires Bell à la fin des années 60, collaborant avec Dennis Ritchie pour donner naissance à Unix. Ce n’était pas qu’un simple système d’exploitation, mais une philosophie, une manière de concevoir l’informatique fondée sur la modularité et l’efficacité. Son obsession pour la minimisation, visible dans le langage B, son successeur de BCPL, a influencé directement le développement de C, le langage dominant des systèmes pendant des décennies.
Une anecdote frappante illustre parfaitement cette approche : Thompson affirme avoir passé une journée record en supprimant 1000 lignes de code. Il ne s’agissait pas d’un acte de simplification casuistique, mais d’une application systématique d’une logique implacable. Il a compris, avec une acuité rare, que l'ajout de code n'est jamais neutre. Chaque ligne ajoutée est une source potentielle d'erreurs, une complexité supplémentaire à gérer, et une contrainte sur les futures modifications.L’intelligence artificielle bouleverse actuellement le marché du travail, et ce graphique viral sur internet met en lumière les professions les plus vulnérables. Mais au cœur de cette transformation, la philosophie de Thompson persiste. Go, le langage créé par Thompson et ses collègues chez Google, incarne cette même obsession pour la clarté et la simplicité, une alternative audacieuse aux langages plus complexes comme C++ ou Java.

Supprimer du code, une stratégie, pas une défaite
La clé réside dans la compréhension profonde du système. Il ne s'agit pas de se contenter d'ajouter de nouvelles fonctionnalités, mais d'identifier les éléments superflus, de réduire la surface d'erreur, et de simplifier l'architecture. C’est une démarche exigeant un jugement critique, une vision d'ensemble, et la capacité de discerner ce qui est essentiel du superflu. Bjarne Stroustrup, créateur de C++, l'a lui-même exprimé : « Il n’existe que deux types de langages de programmation : ceux que les gens détestent et ceux que personne n’utilise. »
La philosophie de Go, héritée de cette exigence de simplicité, est un exemple concret. Chaque élément non présent dans le langage est une complexité que le programmeur n'a pas à gérer. Cette approche contraste directement avec les pratiques répandues dans de nombreux développements actuels, où la productivité est mesurée par le nombre de lignes de code écrites, ignorant ainsi le coût associé à ces complexités. Il est temps pour les ingénieurs de repenser leur approche – programmer n'est pas écrire plus, mais savoir précisément ce que ne pas écrire. Une leçon de Ken Thompson, intemporelle et essentielle.