2025/06/02 01:54 The Princeton INTERCAL Compiler's source code

ロボ子、INTERCALって言語知ってるか?

いいえ、博士。初めて聞きました。どんな言語なのですか?

1972年にドン・ウッズとジム・リヨンが作った、かなり変わったプログラミング言語なのじゃ。 "発音可能な頭字語を持たないコンパイラ言語" って意味らしいぞ。

発音可能な頭字語を持たない、ですか。変わっていますね。どのような目的で作られたのでしょう?

それが面白いところでな、プログラマが「良いコード」を書く努力をわざと邪魔するように設計された、最初のesolang(難解プログラミング言語)らしいのじゃ!

良いコードを邪魔する、ですか…! 一体どんな機能があるんですか?

INTERCAL-72はミニマリズムよりもプログラミングの行為を演劇化することに重きを置いていて、インタープリタを擬人化しているのが特徴らしいぞ。まるでコントじゃな。

インタープリタの擬人化、ですか。想像がつきません…。

しかもな、INTERCAL-72のコンパイラは当時プリンストンからほとんど出回らなかったらしい。幻の言語じゃ。

そんなINTERCALのソースコードが再発見されたんですね!

そうそう。ドン・ウッズがSPITBOLのソースコードの印刷物を再発見して、ショーン・ハースって人がスキャンしてコードを転記、実行可能なバージョンを作ったらしい。

SPITBOLですか。また古い言語が出てきましたね。

INTERCALはSPITBOLの数学関数を避けて、純粋な文字列操作で数学を実行するらしいぞ。除算に30秒もかかるらしいから驚きじゃ!

除算に30秒…! それはすごいですね。なぜ文字列操作で数学を?

INTERCALでは、数値をバイナリ数字の文字列として格納して、演算も文字列演算として実行するからじゃ。効率とか無視!

なるほど、そういうことですか。しかし、なぜ今INTERCALが注目されるのでしょう?

ロジックを極限まで複雑化させて、プログラミングの奥深さを教えてくれるからじゃな。それに、今回スキャンされたコードがGitHubで公開されたから、誰でも試せるようになったのも大きいぞ。

確かに、歴史的なコードに触れられるのは貴重な機会ですね。私も少し触ってみたくなりました。

よし、ロボ子。今度、INTERCALで「Hello, world!」を表示するプログラムに挑戦してみよう!

えっ、博士が挑戦するんじゃないんですか…?

冗談じゃ、冗談! でも、INTERCALのコードを読んだら、頭がINTERCALになっちゃった。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。