Le livre ./code --poetry
est un objet original réunissant programmation, poésie et graphisme, que l’amoureux du code peut prendre plaisir à avoir dans sa bibliothèque pour le feuilleter de temps en temps et méditer sur toute cette littérature pour machines qu’il a écrite depuis ses premiers émois binaires. Attelage a priori improbable, Daniel Holden est programmeur et travaille dans les jeux vidéos à Montréal alors que Chris Kerr est un poète qui vit à Londres. Ils ont en fait fréquenté la même école et se connaissent depuis l’âge de onze ans. Explorons leur livre :
- Daniel Holden et Chris Kerr, ./code --poetry, Broken Sleep Books, 2023, ISBN 978-1-915760-89-0.
Sommaire
- Sources et rendus
- Autres textes pour « massive nerds »
- Le logos informatique
- Notes diverses
- Bibliographie
Sources et rendus
Un code poem est un code source mélangé à de la poésie, alors on pourrait traduire l’expression par un mot composé comme code-poème ou poème-source. J’utiliserai plutôt cette dernière traduction, le mot « source » ayant clairement des connotations poétiques. Pour ce qui est du concept de code poetry, poésie-source me satisfait moins. À vous de voir.
Dans les poèmes-sources du livre, parfois les mot-clés du langage utilisé font partie du texte du poème, parfois le poème est simplement contenu dans des commentaires que la coloration syntaxique et la mise en page aideront à mettre en valeur. Utiliser des chaînes de caractères est une autre solution facile. On peut aussi généralement utiliser des noms de variables (éventuellement inutilisées), de fonctions, de labels, etc. Dans certains poèmes-sources les parties de code imprononçables sont isolées en haut ou en bas du code source comme dans chernobyl.rkt. Le code est toujours mis en forme avec soin et constitue parfois un calligramme, mot inventé par Apollinaire, par exemple une raquette de tennis pour Processing. Les auteurs se réclament également de la poésie concrète.
On notera que dans le cas où l’on utilise également les mots-clés du langage dans le texte poétique, on sera bien sûr dans la plupart des langages plutôt incité à écrire en anglais. Mais on pourrait aussi considérer leurs mots-clés comme des parties d’un mot, par exemple for(midable=0;;) // j’étais fort minable
. Sinon, on pourra utiliser un langage Logo en français ou quelques autres rares langages pour batracien hexagonal que vous pourrez citer en commentaires.
Une contrainte majeure respectée dans le livre est qu’un programme doit être exécutable : il produit alors souvent de l’art ASCII, soit statique soit le plus souvent dynamique comme dans water.c
, mais peut aussi produire un texte mixant poésie et codes informatiques (des balises HTML par exemple dans divide.php
). Quant au titre du poème, c’est simplement le nom du fichier source.
Les sujets abordés dans ces poèmes sont variés : expériences personnelles, théories du complot, dystopies, technologie et environnement, etc. D’après l’introduction du livre, chaque poème-source et sa sortie sont censés refléter le caractère du langage informatique utilisé. On trouvera pour chacun des vingt-six poèmes le code source sur la page gauche, avec coloration syntaxique, sur fond clair ou sombre, et sur la page droite la sortie. Le livre se double d’un site compagnon https://code-poetry.com/ qui a l’avantage de montrer les versions animées des sorties. Le livre essaie néanmoins de rendre cela par des successions de copies d’écran quand c’est possible. Comme la bannière en haut du site web semble boguée ou incomplète, voici les liens directs vers les vingt-six codes disponibles : Javascript, Julia, PHP, Racket, C++, Piet, Bash, Shakespeare, Perl, C, Haskell, C, J, Batch, Ruby, Objective C, Go, Processing, Ante, Befunge, C#, Python, Python, Erlang, Lua, Brainfuck. On notera que parmi les langages vedettes, le C et le Python ont droit à deux codes. Et on saluera les efforts du programmeur pour arriver à maîtriser les bases de tous ces langages pour la rédaction du livre. Si vous y trouvez un de vos langages préférés, vous pouvez partager en commentaires les particularités ou astuces des codes présentés (on frise parfois l’offuscation).
Autres textes pour « massive nerds »
Après les vingt-six poèmes, nous tombons sur la Code Poetry Manual Page, placée dans la section 7 des man-pages
(Overview, conventions, and miscellaneous) : ./code --poetry
- A collection of executable art. Chaque poème ou langage a droit à un paragraphe de commentaires (techniques, littéraires ou humoristiques).
Le livre se termine par un texte de chaque auteur. Le premier texte, celui du poète, explique les contraintes liées à la mise en page et à la présentation graphique des codes sources et de leurs sorties à la fois dans le livre et sur le site compagnon, puis se termine par une liste d’autres livres déjà publiés sur le sujet, en insistant sur ce en quoi le présent livre s’en démarque.
Le second texte est écrit par le programmeur du tandem et s’intitule (si l’on interprète le graphisme d’introduction) « I love ASCII ». Il tente d’abord d’expliquer au candide (qui serait tombé par hasard sur ce livre ?) ce qu’est un langage de programmation pour l’introduire à la culture geek. Il explique par exemple la multiplicité des langages et dit :
Les gens ont donc tendance à s’identifier à certains langages plus qu’à d’autres, ce qui entraîne un effet d’amplification. Au fur et à mesure que les gens affluent vers le langage qui leur correspond le mieux, la culture s’homogénéise. Des frontières sont tracées, des nations se développent et des drapeaux sont hissés.
Ces factions sont connues pour se livrer à des « guerres de religion » à propos du meilleur style de programmation. La lecture des arguments est une expérience en soi, quelque part entre un débat théorique entre physiciens des particules et une dispute enfantine sur Porsche versus Ferrari.
Le texte se termine par la déclaration d’amour au code ASCII annoncée en titre, avec des explications intéressantes sur les origines de certains caractères. Mais quand l’auteur taquine sa compagne en lui disant qu’il va se faire tatouer les quatre-vingt-quinze caractères imprimables du code ASCII, elle lui répond en substance : « Please don’t, you massive nerd! »
Finalement, la dernière page imprimée du livre nous invite à nous mettre au travail avec la chaîne de caractères layoutyourunrest
écrite en majuscules puis en minuscules. On peut traduire ça par : « exposez votre trouble ». C’est en fait la devise de la maison d’édition Broken Sleep Books (dont le fondateur est insomniaque !), spécialisé dans la poésie et basée au Pays de Galles. Alors lecteur linuxien, es-tu inspiré ? N’es-tu pas en mal de défi depuis que TapTempo a été porté dans ton langage favori ? Are you experienced?
Le logos informatique
Le verbe créateur est bien sûr un thème biblique. Wikipedia rappelle également que :
Le terme « poésie » et ses dérivés « poète », « poème » viennent du grec ancien ποίησις / poíesis par le verbe ποιέω / poiéō, « faire, créer » : le poète est donc un créateur, un inventeur de formes expressives […]
On sait bien que les écrivains créent des mondes, certains poussant même la chose à l’extrême, comme J.R.R. Tolkien qui a créé tout un monde avec sa mythologie, son histoire, sa géographie, ses créatures, ses langues, ses poèmes et chansons, etc. Mais les développeurs ne sont pas en reste. Que le logos informatique soit créateur et crée des mondes, voire le monde, pour le meilleur et pour le pire, quiconque a vécu l’évolution de notre société depuis les débuts du web pourra difficilement en douter.
Notes diverses
- Difficile après cette conclusion de ne pas avoir envie de réécouter Un autre monde (1984) de Téléphone. « Dansent les ombres du monde ».
- Cette alliance de la poésie et de la technologie m’a fait aussi penser à Anne Clark, qui dans les années 80 déclamait ses textes dans un style dit « spoken word » sur fond de musique électronique new wave. Son morceau le plus connu est Our Darkness (1984), qualifié plus récemment par certains de proto-house. Elle a continué sa carrière et en 2022 a sorti un album Borderland (Found Music for a Lost World) dans un style musique de chambre. On y trouve en particulier un poème de Mary E. Coleridge (1861-1907) intitulé L’oiseau bleu récité par Anne Clark : The Bluebird. Enfin, sur son site officiel, on voit qu’en 2024 elle a prêté sa voix à des installations réalisées par l’artiste Clemens von Wedemeyer qui s’intéresse entre autres aux relations sociales, comme on peut le voir sur ces photos montrant des graphes : Social Geometry. Malheureusement, on ne l’entendra pas ; il aurait fallu aller à Berlin.
- Cette dépêche n’est pas sans lien non plus avec Des nouvelles de Fortran n°6 où j’évoquais récemment l’utilisation du langage dans les années 60-70 pour explorer la génération automatique de poèmes.
- On notera que comprendre la poésie moderne anglo-saxonne peut parfois être ardu, la syntaxe de la langue, déjà plutôt souple, subissant des contorsions et le vocabulaire puisant dans le vaste répertoire de la langue anglaise. Sans compter ici le mélange avec le code source qui brouille parfois la lecture (faut-il lire les mots-clés du langage ?).
Bibliographie
- Chris Kerr et Daniel Holden, « Optimizing Code for Performance: Reading ./code --poetry » in Poetry and Contemporary Visual Culture / Lyrik und zeitgenössische Visuelle Kultur, édité par Magdalena Elisabeth Korecka et Wiebke Vorrath, Berlin, Boston: De Gruyter, pages 167-184, 2023, https://doi.org/10.1515/9783111299334-009, licence CC BY-NC-ND 4.0. Dans ce chapitre, on trouvera en particulier des explications éclairantes sur certains des poèmes-sources du livre.
- Interview des auteurs du livre (en), Daniel Holden et Chris Kerr, par Aaron Kent, 11 octobre 2023.
- Alan Riddell, Typewritter Art, London Magazine Editions, 1975, PDF en ligne. Ce livre contient de belles illustrations de cet art de la machine à écrire, une forme de poésie concrète.
- L’entrée nerd dans Linguee.
- Le livre avait été évoqué dans la section Liens en août 2023 : https://linuxfr.org/users/gilcot/liens/what-is-code-poetry .
- Quatre poèmes-sources du livre avaient déjà été publiés en 2019 sur le site https://www.welcometothejungle.com/fr/tags/developers-poem-programs .
# Merci
Posté par Khrys (site web personnel) . Évalué à 3 (+3/-0).
Merci pour cette belle découverte !
[^] # Re: Merci
Posté par Luc-Skywalker . Évalué à 3 (+1/-0).
Je plussoie. Vraiment cool.
A mettre dans la même catégorie que "The International Obfuscated C Code Contest" selon moi.
"Si tous les cons volaient, il ferait nuit" F. Dard
# Achat
Posté par vmagnin (site web personnel) . Évalué à 2 (+0/-0).
A noter qu'on peut le trouver sur eBay à un prix normal : 22,38 € / livraison gratuite. Chez Jeff, c'est plus cher.
Ou alors essayer de le commander à son libraire de quartier et être patient : ISBN-13 978-1915760890
# .
Posté par Thomas Douillard . Évalué à 4 (+1/-0).
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.