samedi 15 février 1997

Dieu, la douleur et l'informaticien

(dans la série François gazouille)

Tout ça à cause d'une Pomme. Oh, pour une fois, Apple et le MacIntosh ne sont pas coupables. C'était bien avant. Il faut retourner à la Génèse, chapitre 3, verset 16: À la femme, Il dit: Je multiplierai les peines de tes grossesses, dans la peine tu enfanteras des fils. À cette époque reculée, en dehors des pommes et des serpents, on connaissait les hommes, les femmes et le bonheur, mais aucun informaticien. Dieu était pressé de punir les fautifs, et Il n'avait sûrement pas le goût d'attendre après Johannes von Neumann pour faire savoir Sa mauvaise humeur. Sinon, Il l'aurait dit tout de suite: Tu programmeras dans la douleur!, et Il aurait laissé les femmes tranquilles.

J'étais tout jeune lorsque j'ai commencé à comprendre. Dans le cours de sciences naturelles, on m'avait expliqué que les spores s'enkistaient, et pouvaient survivre longtemps ainsi, au ralenti, tant que le milieu ambiant était hostile. Par une magie que les scientifiques ne comprennent toujours pas, le kiste disparaîtrait et la spore germe lorsque les conditions s'améliorent. Quand on y pense, ça n'est pas très différent de ces jeunes couples qui, tant qu'ils n'ont pas fini de payer la maison, le bateau et les dettes de jeu, préfèrent simplement ne pas avoir d'enfant.

Dans l'incubateur, déposées sur l'agar-agar légèrement enrichi de solutés nutritifs, les bactéries vont s'y développer jusqu'à l'opacité, à moins que, monstres terrifiants pour elles, de toutes petites moisissures érigent d'impénétrables frontières dans ce microcosme. Les chevreuils et les gazelles rempliraient complètement nos forêts, s'il n'y avait pas l'hiver ou les prédateurs pour y mettre un terme. Et les loups meurent sans nourriture. C'est la très dure Loi. Les laboratoires universitaires forment et engagent de nouveaux chercheurs en période de subventions et d'opulence, ils se subdivisent en sous-laboratoires et se relogent dans des locaux plus vastes. Les syndicats établissent et affermissent leur pouvoir. Quand la douleur survient, un peu partout, plus tard, on parle de rationaliser les effectifs, et on fusionne les municipalités.

Les éthologues qui ont étudié les religieuses ont statistiquement prouvé que, tenues en captivité dans des couvents, elles ne se reproduisent plus. Par contre, une naissance au grand air dans un parc zoologique, ou même l'apparition d'un petit oeuf dans la cage de nos pinsons, nous rassure sur le bien-être des animaux. Le feu se propage autant que possible. En fait, la caractéristique du bonheur, chez tout organisme, c'est de se répandre. Quoiqu'en disent les plus vaches, il n'y a pas de joie dans l'immobilisme: un peu de repos tout au plus, ça ne dure pas. Pour véritablement freiner l'expansion, il faut le froid, la faim, l'insécurité, et vraiment tout ce qui fait la douleur. Dans L'homme qui aimait les femmes, Truffaut fait dire au médecin: Le travail a été inventé pour que les hommes cessent de faire l'amour, de temps en temps. La douleur, pour nous et parfois, c'est de faire autre chose! Puisque l'espace et les ressources sont mathématiquement limités, la douleur devient inévitable, inéluctable, nécessaire. Dans le fond, et cela me semble être un concept extrêmement important, la douleur est l'expression de ce frein, absolument incontournable, sans lequel notre expansion n'aurait aucune fin, et déborderait la mesure du possible.

Tous les informaticiens sentent en eux cet appétit de faire de beaux et vastes programmes, tous prêts qu'ils sont à révolutionner notre art et établir de nouveaux canons de perfection ou d'élégance. Si seulement nous n'avions pas toutes ces obligations, d'une utilité tellement douteuse, que nous imposent usagers et patrons, et autres Béotiens qui ne comprennent, mais alors alors pas du tout, la grandeur que pourrait avoir notre génie! Si par chance un mécène avait la bonne intuition de me prêter confiance, pouvoir et argent, qu'il me deviendrait alors facile de réaliser tous ces projets grandioses que j'imagine sans les faire. Quelle merveille ça serait pour l'humanité tout entière! Ne sentez-vous pas la même chose?

Le dépit de certains est inconsolable. Les autres sont la cause du grand gaspillage de leur talent, de leur temps et de leur vie. À la semaine longue, ils jaspinent contre tout le monde, le destin, les preneurs de mauvaises décision, le système. Ils ressentent du soir au matin la douleur du péché originel et la partagent volontiers, à leur manière, plaignarde ou rude selon le caractère, à tous ceux qui les côtoient. D'un autre côté, je comprends fort bien que ça n'est pas toujours facile. Même si je garde un souvenir heureux de la plupart des emplois que j'ai occupés, certains m'ont laissé un goût de cauchemard dans la mémoire.

J'aurais tellement de choses à vous raconter, que je ne vois pas par quel bout commencer. Mais justement, cette indécision me donne un fil conducteur. Car l'indécision est à la base même de la douleur spécifique de l'informaticien, lorsqu'il a la sagesse d'apprendre à reconnaître que la douleur provient de lui-même, et non pas de ceux qui l'entourent. C'est Olivier Lecarme, d'auguste mémoire, qui m'a vraiment fait prendre conscience de ma finitude. Je lui dois beaucoup, parce qu'à cette époque, beaucoup voulaient bien m'aduler comme un excellent programmeur, et mon humilité était toute disposée à prendre des vacances, tellement je trouvais confortable de donner raison à tout le monde sur ce point. Envers et contre tous, Olivier a réussi à me convaincre que je ne savais pas vraiment programmer, et qu'il me fallait tout apprendre. Il m'a dûrement mis en contact avec l'humilité prônée par Dijkstra (si vous ne connaissez pas, c'est le mot Dieu lorsque prononcé en hollandais!). Je vous gazouillerai tout ça, peut-être, un moment donné.

Programmer, c'est souffrir. À l'époque du Cyber, une carte mal perforée, et plusieurs heures venaient d'être perdues. Les gens travaillaient aussi la nuit, moins nombreux. C'est donc la nuit que nous les dérangeions malgré tout pour faire des essais de système. Il fallait de longues heures pour préparer un essai. Une petite erreur, et nous perdions la nuit. Plus féroce encore, il était possible d'endommager le matériel (brûler la mémoire par échauffement, surexposer le phosphore des très coûteux écrans) par le seul effet d'une programmation système maladroite. Une erreur survenait, et en quelques minutes, plusieurs dizaines d'usagers, mécontents, inquisiteurs et curieux, se massaient devant nos fenêtres, et nous regardaient réparer. Je me sentais comme exposé dans un zoo. Ne pas nuire aux usagers. Ne pas perdre de fichiers. Ne pas gaspiller de nuit. Ce stress, toujours intense pour moi, faisait partie du métier.

Il y a la douleur de choisir un langage de programmation pour un projet donné, sachant qu'aucun n'est parfait, et qu'il ne sera pas possible d'en changer une fois le projet bien engagé. Moins maintenant qu'autrefois, certains langages sont tout de même séparés par des murs épais, que l'on ne traverse pas impunément. Au niveau global comme au niveau menu, il y a la douleur de devoir choisir un algorithme, une structure de donnée, un style d'écriture, un nom pour une variable, alors que plusieurs s'offrent à l'esprit et qu'aucun n'est nécessairement meilleur qu'un autre, alors qu'un projet s'ébauche souvent au fur et à mesure qu'on le construit, et qu'un changement de direction demandera nécessairement un bon investissement d'énergie. Dans certains langages, une réorganisation de structure ne demande guère qu'une recompilation, alors que pour d'autres, il faut des semaines de travail. Ça n'est pas toujours simple, ni facile.

À force d'y penser, j'ai fini par comprendre que mon métier, c'est essentiellement de mettre ensemble dans ma tête un paquet de tendances contradictoires, et de les opposer les unes aux autres avec énergie, avec obstination, avec douleur, tant et aussi longtemps qu'il faudra, jusqu'à temps qu'une harmonie naisse de ce chaos, et qu'il en résulte une solution cohérente, et avec un peu de chance, élégante parfois. Quant à tout le reste, auquel mon aveuglement donnait pourtant tant d'importance autrefois, je constate aujourd'hui que c'est de la petite cuisine, de la routine. Fondamentalement, mon rôle d'informaticien, c'est de prendre des tensions formelles sur moi, et d'utiliser mon paradigme humain de tensions nerveuses et d'intelligence animale, qui sort son individu de situations difficiles, pour trouver un relâchement à cet ensemble de tensions. La programmation que l'on observera ensuite, ça n'est rien de plus que l'expression externe de la solution retenue.

Au début, je me désolais de constater l'impact physique important que les problèmes informatiques avaient sur moi. Maintenant, j'ai compris que c'est dans son essence profonde que le programmeur se réduit à l'état d'une mécanique, qui met la douleur humaine au service de la résolution des problèmes. Un informaticien, ca n'est rien de plus qu'une boîte à souffrir que l'on peut louer, et dans laquelle on place ses problèmes: ils ressortent résolus à l'autre extrémité. Voilà le vrai châtiment de Dieu!

François Pinard, février 1997.

1 commentaire:

  1. Mais une grande satisfaction jaillit de cet état d'harmonie lorsqu'on l'atteint. L'harmonie dans notre esprit et non dans le système, j'entends. Le niveau de satisfaction est proportionnel au nombre de contraintes avec lesquelles nous avons dû jongler.

    RépondreSupprimer