"Le chêne
Ne fait pas attention aux fleurs
Une pose"
Matsuo Bashõ (1644-1695)
Diantrebleu et palsembouille. Dites moi que je rêve. Après nous avoir traîné dans un précédent dossier de semaines en semaines, mis les lecteurs comme votre pimpant serviteur au bord de l'épuisement nerveux devant cette avalanche de conseils tous plus pertinents les uns que les autres, voilà que l'on récidive illico presto à la rédaction des souris vertes avec un nouveau dossier qui promet d'être encore plus dense. Mais que fait la police ?
Ah, chers amis, je comprends votre désarroi, mais figurez-vous que les souris vertes se sont données pour tâche de sauver le monde, pas moins, et que nos beaux dossiers, jusqu'ici, ne visaient pas un public pourtant essentiel si l'on souhaite endiguer la fonte des glaciers et ne pas franchir la barre fatidique des 14 degrés de réchauffement, j'ai nommé celui des Gentils Programmeurs (GP pour les intimes). Oui, ami informaticien, programmeur du dimanche, du lundi, ou des autres jours, codeur furieux, hacker curieux, développeur industriel, ce dossier est pour toi. Les autres peuvent rester aussi, hein, ne serait-ce que pour admirer nos magnifiques haïkus, nos dessins bientôt exposés au Louvre ou rigoler un bon coup à toutes ces blagues et ces conseils auxquels ils n'entravent que pouic.
Alors, tu connais déjà la Programmation Objet ? Tu maîtrises comme un champion la Programmation Impérative ? La Programmation Par Contraintes n'a plus de secrets pour toi, tu manges de la Programmation Système tous les jours au petit déjeuner, et tu utilises la Programmation Fonctionnelle du soir au matin d'une seule main et les yeux bandés ? Peut-être même es-tu déjà passé maître dans l'art de la Programmation Avec Les Pieds, rejoignant avec bonheur le club très à la mode et bien densément peuplé des développeurs appliquant cette technique ancestrale ? Il est cependant quasi certain que tu ne connais pas encore la Programmation Responsable, ce concept révolutionnaire que viennent d'inventer les souris vertes toutes seules dans leur jardin et qu'elles offrent au monde dans un élan d'une générosité inouïe et sans supplément d'achat.
Oui, constatons-le et déplorons-le dans un grand soupir navré, malgré l'escalade au matériel toujours plus performant, au stockage toujours plus massif, au réseau toujours plus câblé, nos bonnes vieilles machines continuent à prendre de longues minutes pour ouvrir notre courrier électronique ou afficher la photo de notre chat, et soufflent à la moindre tâche à accomplir. Les ordinateurs rament, inertent, traînent, pagaient et écopent sans relâche, à contre-courant et avec le dynamisme alerte de la limace à l'heure de la sieste. Comment se fesse, se demandera-t-on sans mauvaise pensée ? La seule explication plausible à ce paradoxe incroyable est que les applications et les systèmes d'exploitation Grand Public sont développés massivement Avec Les Pieds (TM), et parfois avec d'autres parties de notre anatomie pas beaucoup plus adaptées à la tâche, et certainement pas dans un souci d'économie, de simplicité et de besoin circonscrit et juste comblé. Et pourquoi donc s'enquiquiner, quand précisément le moindre téléphone portable dispose désormais de la capacité du super calculateur d'il y a 10 ans, et quand le bon peuple est toujours prêt à racheter mémoire, gros disque, super processeur, pour faire toujours la même chose (bureautique, internet, multimédia) mais en consommant plus de ressources ?
Trop c'est trop, et réciproquement
Oui, il suffit, et aux Souris Vertes nous disons STOP. Stop à la paresse de la dépense inutile, de la ressource gaspillée, de la réflexion inachevée, tout ça pour soi-disant gagner du temps et au final en faire perdre aux autres. Et, nous le revendiquons bien fort, ce qui fait le sel de la programmation, ce n'est pas d'écrire du code qui marchouille une fois sur deux, mais d'écrire du code qui fuse, qui bondit, qui trépigne, aérodynamique, élégant et simple à la fois, de la pure pensée en action, du condensé d'esprit transmis directement à la machine, la beauté cristalline et l'équilibre fragile et parfait de l'octet bien ordonné.
La programmation, ce n'est pas de la routine et du code au kilomètre, c'est de la création, de l'intuition, c'est résoudre 250 problèmes par jour et trouver des solutions toujours plus ingénieuses pour faire faire à la machine ce que l'on a rêvé tout haut. C'est construire des ponts, soulever des montagnes, balayer des nuages, tout ça sans se lever de sa chaise. C'est la possibilité de déployer toute l'étendue de son imagination et répondre sans relâche à la question : comment ? Comment aller d'un point à un autre, comment faire faire à un ordinateur, dont on devra convenir qu'il est gentil mais pas bien malin, n'en déplaise aux tenants de l'intelligence artificielle et des Réseaux de Neurones Partout, une tâche complexe, en un minimum de temps et avec un minimum de ressources ?
Et, comble de cerise sur le baba au rhum, il se trouve que, contrairement à bien d'autres domaines de création où il faut faire face à de la matière brute, et donc à des impondérables, l'informatique nous offre cet espace sans contrainte et ouaté de la perfection des conditions d'éxécution : tout est reproductible, anticipable, contrôlable, le seul facteur d'erreur et d'irrationalité est celui qui nous glissons par mégarde dans l'engrenage.
Bref, nous n'avons aucune excuse, et c'est avec une exigence implacable que nous allons dérouler notre super nouveau grand dossier, car programmer, oui, ach ja, claro que si, shi, absolument et tout à fait, mais pas n'importe comment et pour faire n'importe quoi. Précisons tout de même que nous ne sommes pas des experts absolus, ultimes et patentés de la question, simplement nous avons sans doute consacré un peu de plus de réflexion à la manière de programmer de manière écologique que la plupart, aussi nous nous permettrons de dispenser nos conseils sans retenue et avec la nuance subtile de l'éléphant dans un magasin de porcelaine qui nous caractérise lorsqu'un sujet nous tient à coeur.
Mais qu'est-ce donc que cette Programmation Responsable que nous promettons à grand frais ? On ne va pas tout de même pas se quitter sans en avoir esquissé les contours, après avoir fait saliver le bon peuple sur cette notion fantastique ? A vrai dire, programmer de manière écologique et reponsable reviendra souvent à programmer de manière efficace, donc à optimiser les ressources consommées pour faire ce que l'on a décidé de faire. Mais pas que, quand même, parce qu'il y a des choses qui ne sont pas optimisables, des problèmes mal posés ou des besoins exorbitants qu'il s'agira aussi de ne pas chercher à satisfaire à coup de silicium et d'octets dans le réseau.
Prêt à embarquer dans notre prochaine aventure ? Attention, accrochez-vous et faites briller votre plus bel insigne de Chamois d'Or, car on ne fera pas de révision sur les concepts et de tutoriel pas à pas pour les débutants sympathiques et curieux, qui devront se mettre à niveau sans notre aide. Allez zou, on se lance avec un petit haïku optimal de circonstance :
"Toujours plus court
Le chemin
qui me ramène à toi"
Midoriro no Mausu (la Souris Verte)