アラン・ケイ先生が目指すのは「すべてを含んだシステムを2万行以内に書く」こと

まつもとゆきひろ氏:こんにちは。まつもとゆきひろです。「Matzチャンネル」19回目になりますが、前回の放送の中で「アラン・ケイ先生が『あらゆるシステムは1万行以内に書かれるべきだ』というふうに言った」というエピソードを紹介したんですけれども、「Twitter(現:X)」とかで指摘を受けて確認したらだいぶ間違いがありましたので、慎んで訂正させていただきます。

まず、アラン先生の発言そのものは、STEPSというシステムに関連するものだったんですけれども、「1万行」じゃなくて「2万行」だったそうです。「2万行あればだいたい本1冊に収まるので、人間が理解できる」というような文脈で話されたんだそうです。1万と2万は倍、半分。オーダーは違わないにしても、でもちょっと違うかなという気がします。

さらに、このSTEPSですが、OSから、言語処理系から、あらゆるものを含めて2万行以内に記述するという野心的なプロジェクトがあったらしいんですね。これは残念ながら、資金繰りやその他の理由で完成しなかったんですけれども、ケイ先生の目指すものというのは「すべてを含んだシステムを2万行以内に書く」というところでした。

前回私が話したのは「個別のシステムが1万行以内に書かれる」ということだったので、システムがカバーしている範囲・スコープと、ソフトウェアの規模が、1万行か2万行かの2点で、間違っていたということにあとで気がつきました。間違って覚えていたんでしょうね。ちょっと残念なことです。

1つのアプリケーションのサイズを一定以下に抑えるのが現実的

ただ、現実的に、現在のシステムをOSからユーザーインターフェイス、言語処理系も含めて2万行とかで記述するというのは、要求が高まっているせいもあってちょっと不可能に近いんじゃないかなと私は思います。

なので、そういう観点からも分割された個別のシステム。例えば1つのアプリケーションのサイズを一定以下に抑えるというのが、現代的で現実的なスケールだと思います。ただ、ケイ先生がそれを言っていなかったということは事実なので、それは素直に誤りを認めます。個別のアプリケーションが2万行以内を目指すというルールを、まつもとの補足でも何でもいいんですけど(笑)。これを言ったのはケイ先生じゃない、まつもとだということにしたいなと思います。

今日は、誤りのお詫びと訂正ということで、短めの放送にしようと思います(笑)。どうもありがとうございました。では、また。