Le danger de perdre la vertu de la paresse
(bcantrill.dtrace.org)- En programmation, la paresse n’est pas une simple négligence, mais une vertu intellectuelle qui vise l’abstraction et la simplicité
- La véritable paresse est un processus de réflexion approfondie sur un problème afin d’économiser du temps à l’avenir, et cela profite aussi aux développeurs des générations suivantes
- Les abstractions modernes de haut niveau et la culture des « brogrammers » font perdre cette vertu et la remplacent par une fausse diligence
- Les LLM poussent cette tendance à l’extrême et agissent comme un outil de surproduction qui fait confondre la quantité de code avec la valeur
- Il faut préserver la paresse vertueuse, issue de la finitude du temps humain, et utiliser les LLM pour concevoir des systèmes simples et durables
La paresse comme vertu du programmeur et le danger de sa disparition
- Larry Wall souligne que, parmi les trois vertus du programmeur présentées dans Programming Perl — paresse (laziness), impatience (impatience) et orgueil (hubris) — la paresse est celle qui porte le sens le plus profond
- La paresse n’est pas une simple autodérision, mais une notion qui implique la nécessité et l’esthétique de l’abstraction
- C’est la force qui pousse à rendre les systèmes aussi simples que possible et à permettre de faire davantage, plus facilement, grâce à des abstractions puissantes
- La véritable paresse, à l’image du « hammock-driven development », peut donner l’impression qu’on se repose, alors qu’il s’agit en réalité d’un travail intellectuel consistant à réfléchir profondément à un problème pour économiser du temps à l’avenir
- Lorsqu’une abstraction pertinente est créée, elle bénéficie non seulement au développeur lui-même, mais aussi aux développeurs des générations futures
- Cette paresse permet d’écrire plus facilement des logiciels et de construire plus facilement des systèmes
-
Une époque où la vertu de la paresse disparaît
- Au cours des vingt dernières années, avec l’élargissement du champ de la production logicielle, le nombre de personnes qui ne se définissent pas elles-mêmes comme programmeurs a augmenté
- Pour elles, la vertu de la paresse a perdu son sens d’origine
- L’explosion de productivité apportée par les abstractions modernes de haut niveau encourage au contraire une fausse diligence (false industriousness)
- Cela se manifeste par la culture des « brogrammers » et le « hustle porn », qui remplacent la paresse vertueuse et ironique par une production ininterrompue de code
- Au cours des vingt dernières années, avec l’élargissement du champ de la production logicielle, le nombre de personnes qui ne se définissent pas elles-mêmes comme programmeurs a augmenté
-
Le nouvel excès provoqué par les LLM
- L’apparition des LLM (grands modèles de langage) pousse cette tendance à son paroxysme
- Les LLM sont des outils qui amplifient l’attitude créative humaine et jouent le rôle de stéroïdes pour la culture des « brogrammers »
- Par exemple, Garry Tan a mentionné avoir écrit 37 000 lignes de code en une journée à l’aide de LLM
- À titre de comparaison, l’ensemble du code de DTrace représente environ 60 000 lignes
- Mais cette approche constitue un vice marqué par l’absence de la vertu de la paresse et révèle l’erreur consistant à évaluer la valeur d’un logiciel à la quantité de code
- L’apparition des LLM (grands modèles de langage) pousse cette tendance à son paroxysme
-
Les limites des LLM et la valeur de la paresse humaine
- Comme le coût du travail est nul pour les LLM, ils génèrent des systèmes infiniment complexes sans prendre en compte l’économie de temps futur
- En conséquence, ils rendent les systèmes plus grands et plus complexes, satisfont des indicateurs de vanité, mais nuisent à la qualité essentielle
- La paresse humaine découle de la contrainte d’un temps fini, ce qui impose des abstractions claires et une conception simplifiée des systèmes
- La meilleure ingénierie naît toujours des contraintes, et la contrainte du temps humain limite la charge cognitive et pousse à rechercher la simplicité
- Les LLM n’ayant pas de telles contraintes, ils n’ont aucune motivation intrinsèque à rechercher la simplicité
- Comme le coût du travail est nul pour les LLM, ils génèrent des systèmes infiniment complexes sans prendre en compte l’économie de temps futur
-
Comment utiliser les LLM comme outils
- Les LLM peuvent malgré tout jouer un rôle important en tant qu’outils puissants de l’ingénierie logicielle
- Selon les recommandations d’Oxide sur l’usage des LLM, les LLM ne sont que des outils et ne peuvent pas remplacer les vertus humaines
- Ils peuvent être utilisés pour résoudre des problèmes de paresse non productive comme la dette technique (technical debt) ou pour renforcer la rigueur de l’ingénierie
- Mais leur usage doit impérativement viser la mise en œuvre d’une « paresse vertueuse »
- Autrement dit, il faut s’en servir pour créer des systèmes plus simples et plus puissants, afin de laisser un résultat utile aux développeurs des générations futures
- Les LLM peuvent malgré tout jouer un rôle important en tant qu’outils puissants de l’ingénierie logicielle
Aucun commentaire pour le moment.