Ecologie et qualité logicielle : même combat.

Ecologie et qualité logicielle : même combat.
René Dumont : "Je bois devant vous un verre d'eau précieuse".

Je viens d'une famille qui buvait les paroles d'un homme politique nommé René Dumont, dont le nom n'évoquera rien pour la plupart d'entre vous.

Ingénieur agronome, René Dumont parlait d'écologie à une époque où le mot n'avait pas cours. Autrement dit : il prêchait dans le désert. À l'élection présidentielle de 1974, sa candidature rassemblait royalement 1,3 % des suffrages exprimés. Il faut dire, le monsieur avait l'art des formules-chocs : "La voiture, ça pue, ça pollue et ça rend con", disait-il.

Ces valeurs, je les ai faites miennes. Cette radicalité aussi, je crois, mais c'est un autre sujet.

Mais quel rapport avec la programmation et la qualité logicielle ?

Le rapport, c'est l'universabilité kantienne : "Agis de telle sorte que la maxime de ton action puisse être érigée par ta volonté en une loi universelle".

Ce seul principe est fondateur à la fois de l'écologie et de la qualité logicielle :

  • Prendre l'avion 4 fois l'an n'est clairement pas universalisable : si les 10 milliards d'êtres humains actuellement en vie faisaient ainsi, le réchauffement du climat serait tel que vous ne pourriez pas lire la fin de cette phrase. La question qui en découle est donc : pourquoi le faisons-nous, en dépit de toute rationalité ? (NDLR : à cause de la psychologie humaine, modélisée par le dilemme du prisonnier).

  • Ecrire 300 lignes de code à la va-comme-je-te-pousse, sans test, en nommant les variables toto1, toto2 jusqu'à toto33, en mêlant 102 responsabilités à cheval sur 3 contextes n'est pas universalisable non plus : si tous les développeurs codaient ainsi, il serait impossible de faire évoluer la moindre parcelle de code tant cela causerait de régressions. Aussitôt écrit et mis en production, le code serait bon à jeter. Du code jetable… hérésie.

Ces deux domaines se rejoignent d'ailleurs dès que l'on parle de sobriété numérique, et plus spécifiquement d'éco-conception Web. En la matière, je recommande la lecture du référentiel des 115 bonnes pratiques élaboré par le collectif GreenIT. Il y aurait également beaucoup à dire sur l'optimisation des algorithmes, tant les implémentations naïves et gloutonnes sont courantes. Amis développeurs, par pitié apprenez la notation Big-O.

À dire vrai, j'évoque ce sujet pour mieux le laisser de côté. Car mon propos, avant cela, était bien de souligner les racines communes de l'écologie et de la qualité logicielle : une éthique et des valeurs communes. Si bien que l'on ne saurait imaginer un développeur produire un petit bijou de code, parfaitement architecturé, parfaitement lisible, parfaitement testé, et rouler en Hummer dans le même temps : ce serait irrationnel.

La seule explication serait un défaut d'information. Mais vous conviendrez avec moi qu'en 2024, il n'est plus possible d'être naïf sur aucun de ces sujets.

Subscribe to Mathieu Eveillard

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe