Malbolge est un langage de programmation ésotérique développé par Ben Olmstead en 1998. Il a été nommé d’après le huitième cercle de l’enfer de la Divina Commedia de Dante.
La particularité du Malbolge est qu’il a été développé comme le pire langage de programmation possible, le plus difficile à maîtriser. Le premier programme Malbolge a été créé deux ans après la création du langage de programmation. Cependant, ce programme n’a pas été programmé par un humain, mais a été calculé par un programme utilisant un algorithme de recherche.
Les raisons de cette difficulté sont :
- Les commandes sont remplacées par d’autres commandes après leur exécution. Cela rend très difficile la conversion des boucles en Malbolge.
- la manipulation des mots de données n’est possible dans le système numérique ternaire qu’au moyen du décalage à droite et d’un autre opérateur très inhabituel – la fonction folle.
- l’encodage d’une commande par un caractère ASCII dépend de la position de la commande modulo 94.
- Les cellules de mémoire ne peuvent être initialisées qu’avec l’une des huit valeurs ASCII possibles.
Un programme Malbolge est composé des caractères ASCII +b(29e*j1VMEKLyC})8&m#~W>qxdRp0wkrUo[D7,XTcA\"lI.v%{gJh4G-=O@5`_3i<?Z';FNQuY]szf$!BS/|t:Pn6^Ha
ou sous une forme normalisée à partir des caractères ijopv*/<
Références