Adrian Cable, International Obfuscated C Code Contest, “Best of Show”, 2013 [CC BY-SA 4.0].
À propos du code
Ce code en C est un exemple de code obscurci (obfuscated code), issu d’une longue tradition qui valorise la virtuosité du programmeur plutôt que la lisibilité du code. Le programme réalise un minuscule moteur de reconnaissance de l’écriture (OCR) en seulement 4 096 octets, grâce à un algorithme original et une nouvelle méthode de compression des tracés.
Comme souvent dans ces codes obscurcis, le code source lui-même forme une scène en ASCII art – un paysage nocturne avec un renard et un chien – illustrant le pangramme « The quick brown fox jumps over a lazy dog » (Le vif renard brun saute au-dessus du chien paresseux). Cette mise en forme rappelle que le code source peut aussi avoir une dimension esthétique et ludique. Sous cette apparence se cache pourtant le plus petit moteur OCR capable de reconnaître tous les caractères ASCII imprimables. Le charme du programme tient à sa « fausse pédagogie » : il montre la puissance expressive du C en détournant toutes les conventions – uniquement des boucles for, macros surchargées, opérateurs ternaires et jeux de pointeurs – transformant de « mauvaises pratiques » en outils artistiques. Même la fonction main est utilisée à répétition, à des fins à la fois satiriques et pratiques.
Au-delà de la maîtrise technique, ce chef d’œuvre obscurci rappelle aux programmeurs comme aux non-programmeurs que sous les couches de conventions se cache un monde de créativité et de possibilités expressives à découvrir. Il célèbre la programmation à la fois comme artisanat et comme art, réaffirmant que l’élégance, l’humour et l’innovation sont au cœur du patrimoine culturel durable de la programmation.
BIOGRAPHIE
Adrian Cable explore depuis longtemps l’intersection ludique entre développement logiciel, art et pédagogie. En plus de ses participations à l’International Obfuscated C Code Contest, il a contribué à plusieurs projets open source majeurs, dont Homebridge, Pion/WebRTC, le noyau Linux et le langage Go. Son travail montre que le code peut être à la fois fonctionnel, esthétique, formateur et volontairement atypique. Il défend une vision de la programmation comme discipline technique et forme d’expression, invitant les développeurs à repenser les possibilités du code au-delà des normes et des contraintes habituelles.
#Esthétique
#Langage C
#Code obscurci