Le codeur est un poète qui s’ignore
Un terme assez barbare est en train de s’imposer dans l’univers du digital, pardon du numérique: codeur. A chaque fois que je l’entends, comme ce matin dans le journal de 7h sur France Culture, mon sang ne fait qu’un tour. Quel est donc ce snobisme, qui cherche à imposer un terme qui ne veut absolument rien dire, alors qu’il existe un nom de métier générique pour ces personnes qui écrivent du « code »: programmeur.
Je me souviens qu’à l’époque où je travaillais chez un grand éditeur de logiciel, à la conception et à l’écriture de programme informatique, nous étions qualifiés au pire d’informaticiens – un vocable très global, qui peut inclure des métiers très variés, au mieux de développeur – car nous développions des applications. Mais pour moi, le terme le plus approprié était programmeur (et non programmateur, s’il vous plaît). Un programmeur écrit des programmes informatiques, c’est clair, limpide, et parfaitement adapté.
Malheureusement, une pratique s’est rapidement répandue dans l’univers des programmeurs, celle consistant à désigner les fichiers contenant le texte de nos programmes sous l’affreux anglicisme de « code source » (source code, en english). Au lieu d’écrire de beaux programmes, nous nous auto-flagellions en disant que nous étions en train de « pisser du code ». Si le verbe pisser a fini par disparaître, sa connotation étant par trop péjorative, le substantif « code » a fini par s’imposer. Un programmeur conçoit du code.
J’en conviens, un programme informatique, cela peut paraître abscons, difficile à lire et à comprendre. De là à en faire un code, c’est à dire quelque chose de chiffré volontairement pour empêcher le commun des mortels d’en saisir l’intérêt, il y a un pas que j’ai du mal à franchir. D’autant plus que de mon point de vue, la pratique de la programmation relève plus de la pratique d’une langue étrangère, que de la conception de codes. J’ai d’ailleurs pondu un beau billet il y a quelques années sur ces langages informatiques, langage dont je ne cesse d’admirer la précision et l’évolution vers moins de complexité: passé récemment à Python, je suis stupéfait par la souplesse de ce dernier.
Loin de voir du code dans le texte d’un programme, j’arrive à y décerner une étrange beauté. Je me souviens des programmes écrits par mon ancien collègue, José Chillan, architecturés de fort belle manière, et qui permettaient à qui le souhaitait d’en comprendre aisément la structure. Je me souviens également de programmes conçus de manière à être le plus concis possible – programmes conçus par ceux qui, comme moi, ont connu l’époque où la capacité mémoire des ordinateurs était fort limitée. Je me souviens enfin de ces programmes étranges, qui, lorsqu’on les exécutait, générait … le propre code source ! J’ai récemment appris qu’on appelle cela des Quine. En voici un exemple en « C »:
#includeint main(){char*a="#include %cint main(){char*a=%c%s%c;printf(a,10,34,a,34);}";printf(a,10,34,a,34);}
Et un autre en Python
a='a=%r;print(a%%a)';print(a%a)
Il existe, en réalité, une véritable poésie liée à la rédaction de programmes informatiques. Qualifier leur produit de code est éminemment réducteur. Le codeur est un poète qui s’ignore.
Découvrez d'autres articles sur ce thème...
Hervé Kabla, ancien patron d’agence de comm’, consultant très digital et cofondateur de la série des livres expliqués à mon boss.
Crédits photo : Yann Gourvennec
Quand je pense à l’époque d’il y a plus de 35 ans où nous programmions sur Apple ][ en assembleur, en Basic, en Pascal…, ce n’est pas le mot « poésie » qui me vient à l’esprit, mais le mot « beauté ». Le challenge de la beauté consistait à minimiser la taille des programmes. Le bavardage dans le code n’avait pas sa place à une époque où nous étions loin de compter en téraoctets 🙂
Beauté, poésie, élégance du code.
Une page nostalgique :
https://paysdepoesie.wordpress.com/2014/10/18/jeux-de-code/
(…) tout algorithme a son aspect ludique (…)