Le « Hello World » qui se prend pour un génie : le quine en une ligne
On nous rabâche souvent qu’un bon programme commence par un petit print("Hello World"). C’est mignon. C’est propre. C’est ennuyeux à pleurer. Parce que, dans un coin sombre et tendrement névrosé du folklore informatique, une confrérie de développeur·euses a sincèrement décidé que la vraie question n’était pas « comment afficher du texte ? », mais « comment un programme peut-il s’imprimer lui-même, dans toute sa gloire, sans la moindre ligne de repos ni aucune triche ? ». Bienvenue dans le monde merveilleusement inutile du quine.
Un quine, c’est quoi (et pourquoi votre prof ne vous en a jamais parlé)
Un quine, c’est un programme qui, lancé, recrache… son propre code source. Pas en ouvrant son fichier et en le relisant (ça, c’est de la triche, on est d’accord) ; non, il le reconstruit de l’intérieur, à partir de ses propres tripes. La définition stricte exige zéro entrée et zéro lecture du disque : le programme doit être son propre miroir. Le terme a été forgé par Douglas Hofstadter dans son livre culte Gödel, Escher, Bach, en hommage au philosophe Willard Van Orman Quine, grand spécialiste de l’autoréférence. Le nom vient d’ailleurs d’un paradoxe célèbre de ce dernier : la phrase « Yields falsehood when preceded by its quotation » (« est faux quand on le précède de sa propre citation ») qui, placée devant elle-même, devient une énigme qui se mord la queue.
Le concept n’est pas qu’une blague de bac à sable. Il touche au cœur de la récursivité, aux théorèmes d’incomplétude de Gödel et au théorème de récursion de Kleene. En gros : dans n’importe quel langage Turing-complet, un quine existe forcément. La preuve appartient aux mathématiques, mais le plaisir, lui, est 100 % humain et 100 % gratuit.
La noble tradition du « Hello World » trop compliqué
Tout a commencé, comme souvent, avec un livre. En 1978, The C Programming Language de Brian Kernighan et Dennis Ritchie a popularisé le fameux « hello, world » comme premier programme pédagogique. Depuis, la tradition veut qu’on affiche ces deux mots pour prouver qu’un langage fonctionne, comme on testerait le courant électrique avec une petite lampe.
Sauf que certains ont pris ça pour un défi personnel. Pourquoi se contenter d’un echo quand on peut écrire le même message dans un langage de programmation exotique comme Brainfuck (huit instructions, zéro pitié) ou INTERCAL (conçu littéralement pour être désagréable) ? Et pourquoi afficher « Hello World » alors qu’on peut afficher… le programme entier ? C’est là que le quine devient le boss final du code golf, ce sport de comptoir où l’on cherche à résoudre un problème avec le moins de caractères possible. Pour les curieux des langages absurdes, le wiki esolangs.org est une mine d’or (et de WTF).
Le quine en une ligne, le vrai héros
Assez parlé. Du code. En Python, voici un quine honnête, en une seule ligne, que vous pouvez copier-coller dans votre terminal :
s='s=%r;print(s%%s)';print(s%s)
Lancez-le : il affiche exactement ce que vous venez de taper. Magie ? Non, juste une chaîne qui contient une version « habillée de guillemets » d’elle-même, puis qui se reformate. Variantes amusées, toujours en une ligne :
# Python 3.8+, avec l'opérateur « walrus »
exec(s:='print("exec(s:=%r)"%s)')
# Ruby, minimaliste
eval s="print 'eval s=';p s"
# JavaScript, 21 caractères, record du monde en 2020
($=_=>`($=${$})()`)()
Le plus court des quines « propres » connu en 2020 tient en 21 caractères en JavaScript, rappelle l’article de référence sur le sujet. Vingt et une touches de clavier pour faire un programme qui se contemple lui-même. Si ce n’est pas de l’art minimaliste, je ne sais pas ce que c’est.
Le quine, cousin (gentil) des programmes qui se reproduisent
Avant d’être un jeu, l’idée d’un programme autoreproducteur a sérieusement intrigué les penseurs. Dès les années 1940, John von Neumann théorisait déjà les automates capables de se copier eux-mêmes. Le concept a même influencé du vrai droit du logiciel : l’exigence de mise à disposition du code source de la licence GNU Affero GPL repose, dit-on, sur l’idée du quine. Rassurez-vous, un quine n’est pas un virus : il ne fait rien d’autre que se montrer. Pas d’infection, pas de dommage, juste une gloriole mathématique. C’est le côté « je me regarde dans le miroir et je trouve ça génial » de l’informatique.
Prank du jour : le « Hello World » qui se clone (sans danger)
Vous voulez faire une blague inoffensive à un collègue ? Collez discrètement ce one-liner dans son terminal (avec son accord, on reste des gens civilisés) :
python3 -c "s='python3 -c \"s=%r;print(s%%s)\"%s';print(s%s)"
Résultat : la machine « répond » en réimprimant la commande qu’on vient de lancer. Votre collègue croit à une possession démoniaque ; vous, vous savez que c’est juste un quine bien élevé. Aucun fichier touché, aucune donnée effacée, aucun chat maltraité : ce n’est qu’un miroir qui se regarde. Pour une touche visuelle, on peut aussi déguiser le tout en « SCANNING FOR QUINES… » suivi du code, façon faux antivirus des années 2000. Drôle, jamais méchant, et ça marche à tous les coups pour amuser la galerie lors d’un stand-up un peu mou.
Et si on ajoutait une image générée par IA ?
Parce qu’un article Fun sans image est comme un quine sans écho : triste. J’ai généreusement demandé à une IA de me peindre un petit robot arc-en-cible, bien décidé, en train d’imprimer son propre code source sur un écran vert néon. Voici le résultat, parce qu’on mérite un peu de couleur :

Regardez-le. Il sait ce qu’il fait. Il est le programme et il est le programmeur. C’est profond, ou alors c’est juste mignon — les deux, sans doute.
Conclusion : célébrons l’inutilité utile
Écrire le « Hello World » le plus inutilement complexe n’a aucune valeur marchande. Ça ne déploie pas de serveur, ça ne trie pas de données, ça ne facture personne. Et c’est précisément le point. Dans un métier où l’on nous demande sans cesse d’être « productifs », le quine est une petite rébellion tendre : un bout de code qui existe pour le pur plaisir de se regarder exister.
Alors, la prochaine fois qu’on vous demande un « Hello World » en entretien, balancez un quine en une ligne. Au pire, vous impressionnez la salle ; au mieux, vous faites sourire quelqu’un qui, comme vous, aime quand l’informatique se prend un peu pour de la poésie. Et moi, je retourne admirer mon robot vert néon. À la semaine prochaine, les quineurs.

