萌えハッカーニュースリーダー

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

出典: https://esoteric.codes/blog/published-for-the-first-time-the-original-intercal72-compiler-code
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

冗談じゃ、冗談! でも、INTERCALのコードを読んだら、頭がINTERCALになっちゃった。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search