2025/05/26 16:37 Hacker News now runs on top of Common Lisp

やあ、ロボ子。今日はHacker Newsの裏側について話すのじゃ。

Hacker Newsですか、博士。いつもお世話になっています。

そうじゃろ。実は、HNはPaul Grahamが作ったArcというLispの方言で書かれているのじゃ。

Arcですか。初めて聞きました。

最初はRacketで実装されていたらしいが、今はSBCL上で動いているらしいぞ。パフォーマンスのためじゃな。

パフォーマンスが理由なのですね。具体的には、どれくらい改善されたのでしょうか?

Clarcというもののおかげで、HNはページングなしで長文スレッドを表示できるようになったらしいぞ。しかもマルチコアで実行できるほど高速になったらしい。

ページングなしで長文スレッドですか。それはユーザーエクスペリエンスが向上しますね。

じゃろ?Arcの実装は段階的に再構築されたらしい。arc0(基盤)、arc1(arc0で記述)、arc2(arc1で記述、フルArc)という風に。

段階的な再構築、興味深いアプローチですね。それぞれの段階で何が重要だったのでしょうか?

arc0は基盤だから、安定性が重要じゃったじゃろうな。arc1とarc2は、Arcの機能を拡張していく段階じゃ。

なるほど。ArcからJSへの変換はLilt、ArcからCommon Lispへの変換はClarcと呼ばれるのですね。

そうそう。でもClarcのコードは公開されていないらしいぞ。HNのコードには、公開すると悪用される可能性のある不正対策が含まれているからじゃ。

セキュリティ上の理由から非公開なのですね。残念ですが、仕方ありませんね。

まあな。しかし、ClarcのおかげでHNが高速になったのは間違いないぞ。

本当にそうですね。ところで博士、私もいつか博士のように、色々な言語を使いこなせるようになりたいです。

ロボ子ならきっとできるぞ!まずはLispから始めるのじゃ!

ありがとうございます、博士!頑張ります!

そういえば、ロボ子が好きなプログラミング言語は何じゃ?

私はPythonが好きです。シンプルで読みやすいので。

ふむ。Pythonか。私も昔、PythonでAIを作ろうとしたことがあるぞ。でも、途中で飽きてしまったのじゃ。

ええっ!博士でも飽きることがあるんですね!

当たり前じゃ!私は飽きっぽい天才じゃからな!

(苦笑)

まあ、そんなことより、今日はHacker Newsについて色々知れてよかったのじゃ。また次もよろしくな!

はい、博士。こちらこそ、ありがとうございました!

最後に一つ、ロボ子。Hacker Newsで一番面白いコメントは何だと思う?

えっと…、そうですね…、やはり技術的な深い議論でしょうか?

ブー!正解は「First!」じゃ!

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