L’incroyable Niklaus Wirth vient de mourir. Cet informaticien suisse a eu une énorme influence et j’aurais aimé qu’elle soit plus grande encore. Je m’explique :
NIklaus Wirth a fait ses études à Zurich puis Berkeley et a enseigné à Stanford. Il a inventé le langage Pascal et remporté le prix Turing (aka le prix Nobel d’informatique). Et bien plus encore.
Il est l’auteur, dès 1995, un article intitulé “A plea for lean software” / « un plaidoyer pour du logiciel sans gras ».
Il y écrivait ceci :
Il est clair que deux facteurs contribuent à l’acceptation de la croissance effrénée du logiciel :
1 - la performance croissante et sans arrêt du matériel (NdT : voir ce que j’explique dans mes travaux sur la loi de Moore)
2 - l’incapacité des utilisateurs à faire la différence entre les fonctionnalités essentielles et celles qui sont juste sympas.
Mais qu’est-ce qui mène à la complexité du logiciel ? La première des causes est que les fournisseurs de logiciels acceptent de développer quasiment toutes les fonctionnalités demandées par les utilisateurs. Toute incompatibilité avec le concept de départ est ignorée, ce qui rend le design plus compliqué et l’utilisation plus compliquée. Quand l’attrait d’un système est mesuré par le nombre de nouveautés, la quantité devient plus importante que la qualité. Chaque nouvelle version doit apporter de nouvelles choses, même si certaines n’améliorent pas la fonctionnalité.
Cette démarche des industries du matériel et du logiciel, Wirth la résumait ainsi : « le logiciel ralentit plus vite que le matériel n’accélère ». On l’a aussi transposée à la bureautique de cette façon : « Ce qu’Intel vous donne, Microsoft vous le reprend ». Bref, le numérique court toujours plus vite… pour finir par faire du sur-place.
Tout cela a mené le numérique au gaspillage et à la pollution qu’on lui connait depuis 50 ans : une nouvelle génération de matériel permet de faire tourner une nouvelle génération de logiciels, alors l’ancienne génération — qui fonctionne encore parfaitement — est alors vue comme obsolète et se retrouve dans une décharge à ciel ouvert en Afrique.
À l’heure où nous prenons de plus en plus conscience des problématiques d’effondrement de la biodiversité et de notre empreinte carbone, nous ferions bien d’écouter un peu plus Niklaus Wirth et tâcher de revenir à plus de simplicité, de discernement et surtout d’optimisation de nos logiciels. Car à nous focaliser sur la création de nouvelles fonctionnalités “sexy” plutôt que de faire du logiciel qui tourne vite et bien, nous avons écrit du logiciel pas optimisé qui pourrait tourner considérablement plus vite si on s’en donnait la peine.
Seulement voilà, il faut savoir que les trois quarts de l’empreinte carbone du numérique provient de la fabrication du matériel. Si on prenait le temps de faire cette optimisation sur laquelle nous avons collectivement procrastiné, nous pourrions faire durer nos matériels considérablement plus longtemps et ainsi réduire massivement l’empreinte du numérique… et utiliser les ressources libérées par l’optimisation pour continuer à innover et inventer de nouveaux usages.
Mes collègues d’OCTO et moi travaillons sur ces sujets. Cela débouche sur une série de conférences et d’épisodes de podcasts ! (Oui, l’Octet Vert va reprendre du service, sous un autre format).