=> https://linuxfr.org/news/aux-codes-sources-de-la-poesie
2025-01-14 06:51 UTC,
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 :
=> https://www.brokensleepbooks.com/product-page/daniel-holden-chris-kerr-code-poetry
, Broken Sleep Books, 2023, ISBN 978-1-915760-89-0.
=> #toc-autres-textes-pour-massive-nerds
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]
=> https://en.wikipedia.org/wiki/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]
=> https://code-poetry.com/chernobyl
. Le code est toujours mis en forme avec soin et constitue parfois un [calligramme]
=> https://fr.wikipedia.org/wiki/Calligramme
, mot inventé par [Apollinaire]
=> https://fr.wikipedia.org/wiki/Guillaume_Apollinaire
, par exemple une raquette de tennis pour [Processing]
=> https://fr.wikipedia.org/wiki/Processing
. Les auteurs se réclament également de la [poésie concrète]
=> https://fr.wikipedia.org/wiki/Po%C3%A9sie_concr%C3%A8te
.
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]
=> https://fr.wikipedia.org/wiki/Art_ASCII
, soit statique soit le plus souvent dynamique comme dans [
water.c
]
=> https://code-poetry.com/water
, mais peut aussi produire un texte mixant poésie et codes informatiques (des balises HTML par exemple dans [
divide.php
]
=> https://code-poetry.com/divide
). 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]
=> https://code-poetry.com/by_conspiracy_or_design
, [Julia]
=> https://code-poetry.com/alphanumeric
, [PHP]
=> https://code-poetry.com/divide
, [Racket]
=> https://code-poetry.com/chernobyl
, [C++]
=> https://code-poetry.com/cold_cloud
, [Piet]
=> https://code-poetry.com/bark
, [Bash]
=> https://code-poetry.com/grass
, [Shakespeare]
=> https://code-poetry.com/sonnets
, [Perl]
=> https://code-poetry.com/dreaming_the_brown_note_up
, [C]
=> https://code-poetry.com/an_avalanche_of_stars
, [Haskell]
=> https://code-poetry.com/alone_in_kyoto
, [C]
=> https://code-poetry.com/water
, [J]
=> https://code-poetry.com/submarine
, [Batch]
=> https://code-poetry.com/iron_lung
, [Ruby]
=> https://code-poetry.com/compound_eye
, [Objective C]
=> https://code-poetry.com/ants
, [Go]
=> https://code-poetry.com/flocking
, [Processing]
=> https://code-poetry.com/code_violation
, [Ante]
=> https://code-poetry.com/blinds
, [Befunge]
=> https://code-poetry.com/steady_hand_game
, [C#]
=> https://code-poetry.com/clock_in_clock_out
, [Python]
=> https://code-poetry.com/firefighting
, [Python]
=> https://code-poetry.com/irc
, [Erlang]
=> https://code-poetry.com/fourohfour
, [Lua]
=> https://code-poetry.com/stack
, [Brainfuck]
=> https://code-poetry.com/delta_t
. 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]
=> https://fr.wikipedia.org/wiki/Offuscation
).
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
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 ]
=> https://www.brokensleepbooks.com/
(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]
=> //linuxfr.org/wiki/taptempo
a été porté dans ton langage favori ? Are you experienced?
Le verbe créateur est bien sûr un thème biblique. [Wikipedia]
=> https://fr.wikipedia.org/wiki/Po%C3%A9sie
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]
=> https://fr.wikipedia.org/wiki/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.
=> https://www.youtube.com/watch?v=xqnZPHo6qx4
(1984) de Téléphone. « Dansent les ombres du monde ».
=> https://fr.wikipedia.org/wiki/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 ]
=> https://www.youtube.com/watch?v=yVAePFKJXk0
(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)]
=> https://en.wikipedia.org/wiki/Mary_Coleridge
intitulé [ L’oiseau bleu ]
=> https://allpoetry.com/L'oiseau-bleu
récité par Anne Clark : [ The Bluebird ]
=> https://www.youtube.com/watch?v=KC55W2zVC4Y
. 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]
=> https://www.anneclarkofficial.com/clemens-von-wedemeyers-social-geometry-at-kow-in-berlin/
. Malheureusement, on ne l’entendra pas ; il aurait fallu aller à Berlin.
=> //linuxfr.org/news/des-nouvelles-de-fortran-n-6-decembre-2024
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.
=> 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.
=> https://www.brokensleepbooks.com/post/interview-with-daniel-holden-and-chris-kerr
, Daniel Holden et Chris Kerr, par Aaron Kent, 11 octobre 2023.
=> https://monoskop.org/images/8/8b/Riddell_Alan_ed_Typewriter_Art.pdf
, 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.
=> https://www.linguee.fr/francais-anglais/search?source=auto&query=nerd
dans Linguee.
=> //linuxfr.org/users/gilcot/liens/what-is-code-poetry
.
=> https://www.welcometothejungle.com/fr/tags/developers-poem-programs
.
[Télécharger ce contenu au format EPUB]
=> https://linuxfr.org/news/aux-codes-sources-de-la-poesie.epub
Commentaires : [voir le flux Atom]
=> //linuxfr.org/nodes/137866/comments.atom
[ouvrir dans le navigateur]
=> https://linuxfr.org/news/aux-codes-sources-de-la-poesie#comments
=> .. This content has been proxied by September (3851b).Proxy Information
text/gemini; lang=fr