「物理」グループの購読(6)、の記事でオブジェクト指向について書いたので、その続きを書きます。
だいぶ前の数学セミナーで竹内郁雄さん(竹内さんをライオン丸と呼んだ方がいました)が、オブジェクト指向プログラミングが普及した理由について:
古い手法のフローチャートでは時間方向に機能を並べるのに対して、新しい手法のオブジェクト指向では空間的に機能を配置する。
人間は時間方向よりも空間方向の情報処理能力が優れているので、オブジェクト指向プログラミングの方がやりやすかった。
要するに、人間は耳より目が優れているので、オブジェクト指向が普及したのだ。
という趣旨の事を書かれていました。それを見て思ったのは
1)
ゼロックスPARCの研究者たちは日常世界をコンピュータ内でシミュレーションするためにオブジェクト指向を考案したけど、確かに、オブジェクト指向で作成された経理システムに「経理部員」や「印鑑」なんていうオブジェクトは無くて、オブジェクト指向を使ってコンピュータ・システムを作る利点は、シミュレーションとは別にある。
(インターフェイスの独立=部品の分離、が良いというのが利点です。)
これは、当初の意図とは別のところで発明品がウケた、という、何だか、あるあるな話ですね。
2)
時間より空間、というと現在の「標準的な数学」が様相論理より古典論理を選択しているのも、同じ理由かもしれません。(数学基礎論の本を読んでいて、なぜ20世紀の数学者たちが古典論理を選んだのか、理由が明記されていない気がします。)
3)
もし、目より耳が発達している宇宙人がいたら、フローチャートのプログラミングや様相論理を選択するんでしょうか?
4)
細かいことを言うと、Smalltalkの個々のメソッドのコーディングは時間方向に処理を並べたものだし、数学でも条件付き確率は時間の流れを意識した定義だし、そうそう一方的に時間より空間優先ではありませんね。