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

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

出典: https://lisp-journey.gitlab.io/blog/hacker-news-now-runs-on-top-of-common-lisp/
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

(苦笑)

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

…博士、それって…

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

Search