Cet article fait suite à l’ excellente présentation de Tristan Nitot sur la loi de Moore. Je vais retranscrire ici ma version de l’idée originale.
La loi de Moore
Gordon Moore est un des fondateurs d’Intel, un fabriquant de microprocesseurs (indispensables pour nos smartphones et ordinateurs). Il a fait le postula suivant en 1965 (révisé en 1975) :
Le nombre de transistors présents sur une puce de microprocesseur double tous les deux ans.
Il faut comprendre par là que les équipements numériques évoluent très rapidement. En deux ans, le nouveau matériel est deux fois plus puissant que la génération précédente.
La loi de Wirth
Une conséquence de la loi de Moore est la sous-optimisation logicielle existante. Pourquoi les développeurs prendraient-ils du temps pour que les logiciels soient plus performants ? Si cela fonctionne correctement (même un peu lentement au début), il suffira d’attendre quelques années pour que les machines soient plus rapides. Cela leur permet de se concentrer sur l’ajout de nouvelles fonctionnalités.
Niklaus Wirth va même plus loin avec sa loi :
Les programmes ralentissent plus vite que le matériel n’accélère.
Je vous laisse juge des performances de votre ordinateur actuel, par rapport aux précédentes machines que vous avez pu utiliser.
Et maintenant ?
Pendant 50 ans, cette loi s’est vérifiée… Mais depuis plusieurs années, la courbe s’essouffle. On commence tout doucement à stagner. Cela signifie que les professionnels du numérique ne peuvent plus compter sur les évolutions matérielles pour couvrir les manques d’optimisation et de performance.
Evolution de la performance des microprocesseurs (source : Computer Architecture: A Quantitative Approach )
Il va falloir remettre qualité et performance au centre des développements logiciels si on souhaite pouvoir continuer à élargir nos usages numériques. Si on souhaitait conserver l’augmentation des usages qui a été la nôtre depuis plus de 50 ans, il faudra donc que les logiciels soient deux fois plus performants tous les deux ans.
C’est ce que Tristan Nitot appelle la loi d’erooM :
L’optimisation logicielle permettant de libérer des ressources matérielles afin de pouvoir développer les usages.
La clé : l’éco-conception
L’éco-conception des services numériques vient donc au centre des préoccupations. Si le matériel n’évolue plus, il faut que le logiciel s’adapte. Les contraintes sont les mêmes que les contraintes environnementales. Penser le logiciel pour qu’il utilise moins de ressources matérielles.
Cette démarche est particulièrement vertueuse d’un point de vue environnemental quand on sait que 83% des émissions de gaz à effet de serre en France sont dues à la fabrication du matériel (source : Impacts environnementaux du numérique en France de GreenIT.fr)
L’éco-conception consiste à se concentrer sur le besoin des utilisateurs et utilisatrices et d’aller à l’essentiel. Cela inclut :
- décommissionner tout service numérique qui n’atteint pas/plus ses objectifs d’utilisation
- maintenir une obsession d’optimisation des services grand public maintenus
Une question reste ouverte. Est-il utile d’avoir deux services numériques qui répondent au même besoin ? D’un point de vue environnemental, on préférerait qu’il n’y en ait qu’un, mais la mise en concurrence permet également de protéger les utilisateurs/trices…
Résultats
Si les logiciels sont effectivement plus performants, on ne devrait plus sentir le besoin de changer son matériel. Surtout si les nouvelles générations ne sont pas réellement plus puissantes que les appareils utilisés.
Le seul coût matériel pourrait être celui de la réparation, réduisant ainsi considérablement l’empreinte environnementale du numérique.