SobriétITé et développement informatique

créé le 06/04/2020 mis à jour le 12/06/2020

La notion de sobriétITé doit être intégrée dans la programmation. Cette analyse s'adresse plus particulièrement aux développeurs.

Le développeur actuel pour des contraintes de productivité cherche une solution existante qu'il lui suffira de copier coller.
Certes,s'il n'est pas judicieux de réinventer ce qui existe déjà, il est indispensale de vérifier que la fonction ou le code que le développeur va utiliser répond parfaitement au besoin avec des performances satisfaisantes. Le développeur aura souvent tendanceà se contenter de vérifier le bon fonctionnement du programme.

Un programmeur qui se contenterait de copier coller ne peut pas être qualifié de développeur mais de simple assembleur de code.

Assembleur

Afin d'optimiser le code exécuté par la machine (et je ne parle pas uniquement d'ordinateur), il était particulièrement efficace de programmer au plus près du language machine.
Pour ce faire les fonctions (routines) les plus critiques en termes de performances sont écrite en Assembleur. Les langages dit "de bas niveau" comme l'Assembleur ou le langage C permettent de créer des programmes optimisés et proches du matériel sur lequel il s'exécute.
Avec ces langages, vous devez par exemple gérer vous-même l'utilisation de la mémoire, ce qui peut être compliqué pour un débutant.

Langages

Par oppposition, les langages dit "de haut niveau" facilitent ce genre de contraintes, d'autant plus qu'ils offrent des environnements (framework) riches avec des bibliothèques /librairies de fonctions.

Historiquemment, les langages de programmation étaient compilés, c'est à dire qu'un (ou plusieurs) outil(s) permet de passer du code écrit, ensuite transformé pour générer un progamme exécutable (.exe). C'est le cas du Cobol, Fortran (avec la gestion du chargement en mémoire par le principe d'Overlay), Pascal...
Les langages interprétés qui sont exécutés par l'application sont plus faciles à mettre en place. Il s'agit du Basic, Javascript,...
Mais ils consomment plus de ressources (pour interprêter chaque instruction avant de l'exécuter).

Gadgets

Le développeur doit tenir compte du type d'appareil sur lequel le programme sera exécuté.
Même si'il est parfois possible d'exécuter un programme sur un matériel autre que celui sur lequel il a été développé, les performances seront dépe,dantes de l'adéquation entre le langage et le matériel et le type d'application.
La tentation est grande de favoriser l'aspect esthétique à l'aspect pratique et ergonomique ajoutant parfois des gadgets poussé par les phénomène de mode.

Comme exemple de "gadget", citons les sites affichant une carte interactive pour localiser des événements ou lieux. Quelle efficacité lorsque l'ensemble des points forme une masse compacte, obligeant plusieurs opérations de zoom avant d'obtenir une information pertinente ?
Le temps d'affichage et la consommation de ressources s'en trouvent grandement pénalisés avec une empreinte octet démesurée.
(Le seul résultat positif repose sur la notoriété démontrée. Il suffit de choisir l'échelle de départ pour influencer cette impression.)
Heureusement, la possibilité de visualiser sous forme de liste est offerte par les sites plus judicieux (comme dans l'illustration ci-contre).

Vidéos automatiques

En particulier sur les sites des médias traditionnels (presse, radio, tv) , fleurissent les fenêtres automatiques de reportage vidéo, grand consommateur de ressources.

Créativité

Il ne s'agit pas non plus de freiner la créativité.

Mais gare aux programmes qui nécessiteraient un surplus de ressources matérielles provoquant ainsi l'obsolescence des machines, l'autre virus du secteur IT pour Greenpeace.
A ce point de vue, je souhaite féliciter les équipes de développement de Linux permettant d'allonger la durée de vie d'ordinateurs qui rendent encore énormément service aux utilisateurs. Exemple avec l'ordinateur portable Packard Bell EasyNote que j'exploite depuis 2006 avec une distribution Ubuntu 10.

Voici la liste des micro-ordinateurs portables de cette marque testés. C'est affolant le nombre de modèles différents vendus par une marque !

Difficile de changer de logiciel une fois qu'il est intégré à l'enseignement, et ça va forcément influencer les élèves, qui auront du mal à se tourner vers d'autres solutions, plus libres.

Exemple de carte

Je vous invite à la lecture de
La fabrique du crétin digital

Il faut donc inculquer aux équipes de développement la notion de sobriétITé.

Retour à la page d'information générale sur la SobriétITé