Ken thompson : le maître de la simplicité, un avertissement pour l'ia
Ken Thompson, figure emblématique de l'informatique, a redéfini les codes de la programmation. Son approche, axée sur l'élimination du superflu, résonne avec une pertinence accrue à l'heure de l'essor de l'intelligence artificielle.
Un héritage minimaliste, une leçon pour l'ia
Depuis plus de cinquante ans, Ken Thompson façonne le paysage logiciel. Co-créateur de Unix, belligérant derrière le langage B (ancêtre de C) et architecte de Go, il a laissé une empreinte indélébile. Sa modestie, lorsqu'il évoque l'élimination de 1000 lignes de code comme jour le plus productif, est à la fois déconcertante et profondément instructive. Thompson ne prône pas la complexité pour la complexité. Son credo, simple et puissant : « Écrire le moins de code possible, enlever tout ce qui est inutile, et rendre les systèmes aussi simples que possible. »
Cette philosophie, née des laboratoires Bell au milieu des années soixante avec Dennis Ritchie, a imprégné chaque projet ultérieur. Unix, avec ses modules autonomes, son efficacité redoutable, est le fruit d'une architecture minimale. Le langage B a ouvert la voie à C, dominant la programmation système pendant des décennies. Et Go, conçu chez Google, incarne parfaitement cette obsession pour la clarté et la simplicité – un antidote à la prolifération du code complexe.

La menace silencieuse de la dette technique
Thompson souligne un danger crucial : la multiplication des lignes de code, sans contrôle. Chaque ligne ajoutée, c'est une opportunité de failles, une zone d'ombre à sécuriser par des tests. Il s'agit d'une dette technique qui, non gérée, se cumule silencieusement, transformant chaque modification en une opération risquée. C'est une spirale infernale que les équipes doivent éviter à tout prix. La simplification, loin d'être un recul, est une stratégie proactive pour réduire la surface d'attaque, rationaliser l'architecture et anticiper les futures évolutions.
Bjarne Stroustrup, créateur de C++, n'a pas manqué de le souligner : « Il n'y a 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 approche, se veut un remède à la complexité excessive des langages comme C++ ou Java. Chaque élément non présent dans le langage est une charge que le programmeur doit supporter. C'est une vision radicale qui s'oppose à la tendance actuelle, où la productivité est souvent mesurée par le volume de code écrit, sans tenir compte des conséquences à long terme.
L'heure est à la vigilance. L'IA, avec ses promesses de productivité accrue, pourrait amplifier cette tendance à la complexité si les principes de Thompson ne sont pas respectés. Il est temps de se souvenir que la véritable efficacité réside non pas dans la quantité, mais dans la qualité. Programmer, c'est avant tout savoir ce qu'il ne faut pas écrire.
