Insolite : il crée un langage de programmation avec des M&M's
Il renverse des bonbons, donc il invente un langage de programmation. Comme cela peut arriver aux meilleurs d'entre nous, Mufeed VH, un développeur indien, a malencontreusement renversé un paquet de GEMS (l'équivalent local des M&M's).
Alors qu'il aurait pu les ramasser comme n'importe quel être humain normalement constitué, il a remarqué que ses bonbons formaient une sorte de flèche par terre, et s'est demandé si ce motif pouvait s'exécuter comme du code (ben oui, normal).
Résultat : un compilateur, un décodeur photo, un playground web et toute une suite de tests. Pour un langage de programmation dont le code source est littéralement fait de... bonbons colorés.
Six couleurs, zéro excuse
Qu'on se le dise tout de suite : le principe de MnM Lang est élégamment tordu.
Chaque couleur de bonbon correspond à une famille d'instructions : les bleus gèrent le flux d'exécution, les verts manipulent les variables et la pile, les jaunes font les calculs, les oranges s'occupent des entrées/sorties, les marrons gèrent les labels et les strings, et les rouges couvrent le swap, la rotation et la logique booléenne.
Mais les rouges ont un deuxième rôle : ils encodent les valeurs numériques. Un seul rouge = 0, deux = 1, six = 5, vous l'avez. Pour afficher "5", il faut donc poser six bonbons rouges sur la table.
Comme le résume l'auteur, on est plus proche du jeu de plateau que du terminal. Et BBBBBB (six bleus) arrête le programme. Voilà voilà. 👀
Quand le sucre ne suffit plus
Sur le papier, MnM Lang encode tout en bonbons. En pratique, les chaînes de caractères ont posé un vrai problème : encoder "Hello, world!" dans une photo de bonbons est techniquement faisable, mais Mufeed décrit l'exercice comme "techniquement possible et spirituellement horrible" — quiconque a déjà fait de l'OCR dans sa vie comprendra allègrement la douleur.
Sa solution : les strings et les variables initiales vivent dans un fichier JSON séparé. Le fichier image ne garde que la structure visuelle, le JSON porte les données textuelles. Les deux ensemble forment le programme complet. Bref, le dev a su arrêter le délire pile au bon endroit pour que le reste tienne debout.

Hello World en MNM Lang
FizzBuzz en bonbons
MnM Lang fait tourner Hello World, des factorielles et FizzBuzz — un petit exercice de code classique qui a la cote pour les entretiens techniques anglophones (compter de 1 à 100 en remplaçant les multiples de 3 par "Fizz" et ceux de 5 par "Buzz").
C'est basique sur le papier, mais ça mobilise des boucles, des conditions, des opérations modulo et un affichage conditionnel. Si FizzBuzz passe, on tient un vrai langage. Et FizzBuzz passe.
Le projet embarque aussi un playground web et un décodeur photo : posez de vrais M&M's sur une feuille blanche, prenez une photo de dessus, et le système reconstruit le code source à partir des couleurs détectées.
L'auteur est honnête sur les limites de son décodeur : ça marche sur une photo bien cadrée avec un fond uni et des bonbons espacés. Inutile de vider un sachet sur une table encombrée en espérant que ça compile.
Côté fabrication, les sprites de bonbons ont été générés par un modèle d'IA puis normalisés via un script maison pour corriger les ombres et garantir des couleurs cohérentes — parce que oui, même des bonbons virtuels ont besoin d'une pipeline d'ingénierie quand on veut qu'un décodeur photo les reconnaisse correctement.
Petit détail savoureux : Mufeed a utilisé un LLM pour coder une partie du compilateur, puis a écrit des tests spécifiquement pour vérifier que l'IA ne s'était pas contentée de faire semblant.
Le repo est sur GitHub, à tester la prochaine fois que vous ouvrirez un paquet de M&M's donc.
À propos de l'auteur
Nicolas Lecointre
Chief Happiness Officer des développeurs, ceinture noire de sudo. Pour rire, j'ai créé Les Joies du Code. J'utilise Vim depuis 10 ans parce que je sais pas comment le quitter.
Articles similaires
Les meilleurs easter eggs cachés dans vos langages et outils de développeurs
Pour la blague, il invente MordorJS : un outil où chaque ligne fait un seul caractère
Passbolt : le gestionnaire de mots de passe open source que votre équipe mérite vraiment
Des neurones humains cultivés en laboratoire jouent à DOOM (oui, vraiment.)
Les meilleurs easter eggs cachés dans vos langages et outils de développeurs
Pour la blague, il invente MordorJS : un outil où chaque ligne fait un seul caractère
Passbolt : le gestionnaire de mots de passe open source que votre équipe mérite vraiment
Des neurones humains cultivés en laboratoire jouent à DOOM (oui, vraiment.)
Plus de contenu
Quand le commercial annonce le coût du projet au client
Ben voilà c'est pas compliqué
Quand je réalise que je viens de reboot le mauvais serveur
Quand je résous le bug sur lequel toute l'équipe se casse les dents depuis 2 heures
LinkedIn down, enfer d'un growth hacker
Quand j'ai plein de warnings mais que mon code fonctionne
Quand je dois justifier pourquoi le refacto est nécessaire
Quand je sors d'une mise en prod compliquée et qu'on m'annonce qu'il y en aura une autre demain
Quand le commercial annonce le coût du projet au client
Ben voilà c'est pas compliqué
Quand je réalise que je viens de reboot le mauvais serveur
Quand je résous le bug sur lequel toute l'équipe se casse les dents depuis 2 heures
LinkedIn down, enfer d'un growth hacker