le beau code
en 1985 j’imagine que mon code restera bien caché
Quand j’écris les premières lignes pour le Luchrone de Bourges je ne pense pas qu’un programme puisse être beau. Ni laid. C’est simplement difficile à écrire.
Des mois passent et l’idée me vient de modifier mon code…
Catastrophe ! Mon beau travail est devenu incompréhensible.
Les copains de ASA-Logiciels rigolent de me voir si perturbé. Ils connaissent la solution :
– Il faut que tu ajoutes un maximum de commentaires. A côté des instructions il te faut ton code à toi !
Aujourd’hui, un “beau programme” est une page que je suis capable de comprendre un mois plus tard.
les bons programmeurs écrivent du code que les humains comprennent ¹
en modifiant une ligne ou un mot du code on change les relations
Les vilains codes embrouillés et obscurs s’opposent aux codes bien construits et bien lisibles. De nombreux informaticiens disent qu’une sorte d’harmonie se dégage d’un code bien pensé, un peu comme certains évoquent l’aspect musical des mathématiques.
expliquer à des êtres humains ce que nous voulons que l’ordinateur fasse, plutôt que dire à l’ordinateur ce qu’il doit faire ²
“La programmation informatique est un art, parce qu’elle applique au monde des connaissances accumulées, parce qu’elle requiert de l’habileté et de l’ingéniosité, et surtout parce qu’elle produit des objets de beauté. Un programmeur qui se considère inconsciemment comme un artiste appréciera ce qu’il fait et le fera mieux. Donald Knuth ² - The Art of Computer Programming (2018)”
Je dois dire que cela me convient.
========================================================
écrivez du code, et soit cela fonctionne, soit cela ne fonctionne pas. La poésie ne connaît ni succès ni échec. La poésie attend de se manifester. ⁴
sur le Net on trouve des poètes qui s’expriment en Python, Processing, Go, C++, Pascal, Javascript, Perl, etc.
le Code Poems d’Isaac Bertran (2012) ici en PDF intégral
voir aussi :
https://code-poetry.com/
https://www.researchgate.net/publication/355795978_Code_Poetry_and_Freedom
https://writing.upenn.edu/epc/ (Electronic Poetry Center)
1 - Martin Fowler est consultant en logiciel d’entreprise
2 - Donald Knuth : « Je crois que le temps est venu pour une amélioration significative de la documentation des programmes, et que le meilleur moyen d’y arriver est de considérer les programmes comme des œuvres littéraires. D’où mon titre, programmation lettrée ».
3 - Literate Programming
4 - Selon Vikram Chandra, qui finança ses études littéraires en programmant, un bon code devrait avoir autant d’élégance qu’un poème. Geek Sublime