01 Was ist die Programmiersprache Malbolge?

Malbolge ist eine esoterische Programmiersprache, die 1998 von Ben Olmstead entwickelt wurde. Sie wurde nach dem  achten Kreis der Hölle aus Dantes Divina Commedia benannt.

Die Besonderheit von Malbolge besteht darin, dass sie als schlimmstmögliche Programmiersprache entwickelt wurde, die am schwierigsten zu beherrschen ist. Das erste Malbolge-Programm ist erst zwei Jahre nach dem Entstehen der Programmiersprache entstanden. Dieses Programm wurde jedoch nicht von einem Menschen programmiert, sondern von einem Programm unter Anwendung eines Such-Algorithmus errechnet.

Die Gründe für die Schwierigkeit sind:

  • Befehle werden nach ihrer Ausführung durch andere Befehle ersetzt. Dadurch ist es sehr aufwändig, Schleifen in Malbolge umzusetzen.
  • die Manipulation von Datenworten erfolgt nur im ternären Zahlensystem mittels Rechtsshift und eines weiteren sehr ungewöhnlichen Operators – der crazy-Funktion.
  • die Codierung eines Befehls durch ein ASCII-Zeichen hängt von der Position des Befehls Modulo 94 ab.
  • Speicherzellen können nur mit einem von acht möglichen ASCII-Werten initialisiert werden.

Ein Malbolge-Programm besteht aus den ASCII-Zeichen +b(29e*j1VMEKLyC})8&m#~W>qxdRp0wkrUo[D7,XTcA\"lI.v%{gJh4G\\-=O@5`_3i<?Z';FNQuY]szf$!BS/|t:Pn6^Ha

oder in einer normalisierten Form aus den Zeichen ijopv*/<

Quellen

Malbolge – Wikipedia

Malbolge Specification (lscheffer.com)

Reference Malbolge Interpreter (lscheffer.com)