インド哲学のお話の続きを少しだけ。
私が読み始めた本は、オットー・シュトラウスの「インド哲学」という分厚い本でして、詳しく書かれているのは良いのですが、翻訳が少々こなれておりませんこともありまして、なかなかに読むのに手こずります。
そこで補助的に購入いたしましたのが立川武蔵著「はじめてのインド哲学」。こちらは文庫本で、「はじめての」と銘打っておりますだけに、非常に読みやすく、インド哲学全体を概観するのにはなかなかの良書である、との印象を受けました。
とはいいましても、あの広大なインド哲学を200ページ少々の文庫本で扱おうというのも少々無謀な話でして、インド哲学全体の流れは読み取れるものの、その内容の深みという、一番面白い部分があまり扱われていないように思います。ま、「原人の歌」などは、そのスケールを楽しんでいただけそうですし、あちこちに顔を覗かせておりますインド哲学の片鱗は、それなりに面白いものではあります。
理想的には、文庫本で全体像を掴んでおいて、オットー・シュトラウスで深みにはまれば良い、ということかもしれませんね。
で、文庫本のほうですが、98ページから99ページにかけて、実体と属性の関係が図解されております。壺には、色とか重さだとか下降させるなどの属性が付属しており、それぞれの属性は「色性」、「重さ性」といった普遍の基体となる、というのですね。さらに、壺はその構成要素に和合し、構成要素は原子に和合する、というわけです。
これを読みまして、どこかでみたような話だ、と思いました。そう、オブジェクト指向プログラミング、ですね。
オブジェクト指向プログラミング、と言いますものは、操作単位でありますオブジェクトの関係を持った集まりとしてプログラムを記述いたします。たとえば、ウインドウがオブジェクトであり、これには幅や高さといった属性が付属している他、ウインドウ上の構成要素、ラベルだとかボタンだとかイメージだとかといった、さまざまなオブジェクトが付属いたします。ボタンというオブジェクトは、位置や高さや幅や色やキャプションといった属性が付属し、押したときの動作(メソッド)が付属いたします。
で、面白いことは、こういったものは、プログラマーが考える概念上の存在であって、プログラムが実行される際のオブジェクトは、主記憶中の領域として実在します。つまり、デカルトの言うように、あらゆるものは主記憶中の広がりとしてのみ実在し、色やフォントや幅や高さなどはそれを見た人の心の中に形成される属性である、ということなのですね。あ、これはもちろん、コンピュータプログラミングの場合の話、ですよ。
逆に、プログラマがソフトウエアを作成する際は、主記憶のアドレス云々といったことはいっさい配慮せず、抽象化されたデータのみに着目して作業が進められます。
で、オブジェクトはさまざまなオブジェクトの組み合わせとして記述されるのですが、これをばらしていくと、次第に単純なパーツに分解され、最終的には原子ならぬビットにたどり着く、というわけです。
インド哲学に言います「色性」は、オブジェクト指向で言えば「カラー型」というわけで、こちらも対応が取れております。で、「属性性」とでも称すべきものは、サイズと演算定義のリスト、ですね。
オブジェクト指向プログラミングが成功を収めている背景には、人の自然認識に近い体系を採用していることがあると、私は考えているのですが、実にインド哲学(ヴァイシェーシカ学派)がほとんどオブジェクト指向プログラミングのような説明を世界に対して与えている、ということに驚きを覚えた次第です。
さて、コナンスペシャルが始まりますので、この辺で、、、