Malbolge

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Malbolgeとは1998年にBen Olmsteadによって開発された、パブリックドメイン難解プログラミング言語である。実用言語ではない。名前は、ダンテ神曲地獄篇における地獄の第8圏であるMalebolgeにちなんで名付けられた。

Malbolgeの異常な点は、最悪の、すなわち最も扱いにくく難解であるプログラミング言語となるべく設計されたことである。しかし、理解を困難にするために用いたトリックのいくつかはごく単純化することができる。

Malbolgeでのプログラミング[編集]

プログラミング言語Malbolgeが世に出たとき、理解することが非常に難しく、最初に書かれたプログラムが出現するのに2年を要した。しかもそのプログラムは人間によって書かれたものではなく、Andrew Cookeが設計しLISPで実装したビーム探索アルゴリズムにより生成したものだった。

2000年8月24日、Anthony Youhasは彼のブログでMalbolgeを打ちのめし解決の鍵を極めたと宣言し、様々の語句を表示する3つのMalbolgeプログラムコードによりその証拠とした。しかし、どのような技法を用いたかは明らかにはしなかった。

後にLou Schefferは、Malbolgeの暗号解読方法を公開し、入力された文字を出力するプログラムを示した。

OlmsteadはMalbolgeが線形拘束オートマトンであると考えていた。無限ループが初めて発表されるまでに何年も要しており、Malbolgeにおける実用的なループのインプリメント可能性に関し、さらに興味深い議論がある。

Malbolgeで書いたHello, worldプログラム[編集]

次のMalbolgeプログラムは"Hello, world"を出力する。

 (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
 hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<