オブジェクト指向と哲学 |
最終更新日:4/17/2004 |
はじめに
コンピュータの世界では「オブジェクト指向」という言葉がキーワードになっています。オブジェクト指向言語、オブジェクト指向操作、オブジェクト指向分析/設計そして最近注目され始めた分散オブジェクトなどがあります。なぜコンピュータの世界でこれほどいろいろな領域でオブジェクト指向が注目されるのでしょうか?「オブジェクト指向」の中に本質的な何かがあるのでしょうか?
「ソフィーの世界」を読んでいて何か「オブジェクト指向」と共通点があるなと突然感じました。これからそのもやもやを文書にまとめて自分の考えを整理、発展させて行きたいというのがこのホームページの趣旨です。どの様に進んでいくのか、タイトルに縛られるつもりはありません。取り合えず、スタートはこのタイトルでゆきます。そぐわなくなればタイトルも変えます。私と同じような感想を抱いている方もきっといらっしゃるのでは、と思いますが…
"Object, who are you?"対象:オブジェクト指向AND/OR哲学について少しは興味のある人。
☆ゴルデルの「ソフィーの世界」(NHK出版)は、哲学というものはただ難解なものではなくおもしろいものであるということを教えてくれた。
@IT連載 「オブジェクト指向の世界」 へリンク |
メインフレームのOSまわりの保守、導入、開発、性能評価に10年、その後PCのシステム寄りのAP開発に10年、最近2〜3年はオブジェクト指向がらみの開発に携わる。言語は、メインフレームではアセンブラ、PCではC、VB、PowerBuilder、Forte、C++を少しづつ。
ForteをきっかけにOMT法などオブジェクト指向分析/設計方法論と、上流CASEツールのRational Rose/Forteなどを学ぶ。CASEツールと方法論をいかに一体化して生産性、品質を上げていくかに興味を持っています。
パソコン歴はPC9801F2以来10年以上。
平成10年6月末日にて20数年お世話になったコンピュータ会社を退社、独立することになりました。これからはオブジェクト指向の勉強を続けるつもりで「オブジェクトデザイン研究所」を設立しました。
【7/12/98 更新】
"オブジェクト指向と哲学”Topに戻る
目次
池田香代子 |
☆ ぺファークーヘン − クラスとイデア
「ソフィーの世界」より、プラトンのイデア論とオブジェクト指向について(1)
☆ 洞窟の比喩 − メタモデル
「ソフィーの世界」より、プラトンのイデア論とオブジェクト指向について(2)
無から有を生成する不思議なオブジェクト指向操作について
☆ 夢十夜
運慶にとってはただ取り出すだけの仁王を、なぜ他の人は取り出せない?
☆ オブジェクトとエンティティ − オブジェクト指向分析/設計
エンティティはただそれだけで存在し得るが、オブジェクトは認識する人がいて始めて存在する。
☆ 余談 − 故国と祖国
クラスとインスタンスの例
☆ モデル − 時間と空間
静的モデルと動的モデル
☆ 余談2 − モデル
モーツァルトは何故1夜で作曲できた
☆ 鶏のたとえ話
「ソフィーの世界」より、アリストテレスの「質料」、「形相」とオブジェクト指向について(1)
☆ 彫刻家のたとえ話
「ソフィーの世界」より、アリストテレスの「質料」、「形相」とオブジェクト指向について(2)
自立分散協調動作とオブジェクト指向について
中央集権と地方分権
「ソフィーの世界」より、プラトンのイデア論とオブジェクト指向について(1)
プラトン |
『アテナイにようこそ、ソフィー ・・・(略)・・・ ぼくはプラトンといいます。きみに4つの課題を出そうと思います。まず第1問、さあ考えてね。ケーキ屋はなぜ50個もの同じクッキーを焼けるのか?』( [1] P105 )
「ソフィーの世界」では、プラトンのイデア論の説明をこんな比喩で説明します。
ソフィーはクリスマスに母が人形の形をしたぺファークーヘンをたくさん焼き上げたことを思い出します。そしてこれは人形の「型」で抜いたから同じ形になったことを思い出します。第1問は全部のクッキーを同じ「型」で抜くからだと無事解けました。
ぺファークーヘンと言われても日本人にはぴんときません。ここの例えとしては、たい焼きの方がまだイメージし易い。メリケン粉をこねてたい焼きの「型」に流し込んで焼き上げれば同じ形のたい焼きがどんどんできます。
『第2問にいきます、なぜ馬はみんなそっくりなのか?』( [1] P106 )
馬もクッキーのように一つの型で押して作ったからだなんて、プラトンが考えていたはずもないし、とソフィーは考えます。1頭1頭の馬は少しずつ違うし年もとる。それでも馬を特徴付ける何か共通点が確かにある。
『プラトンが永遠不変と考えたものは、したがって、物質である元素ではない。永遠で不変なものは精神的な、というか、抽象的なひな型、それをもとにあらゆる現象が型どられるひな型なんだ。』( [1] P114 )
『プラトンは、どうして自然界の現象はこんなに似ているのだろう、とびっくりして、わたしたちの身の回りにあるあらゆるものの上か後ろには、かぎられた数の「型」があるはずだ、という結論に達した。この型をプラトンは「イデア」と名づけた。』( [1] P115 )
さてここからオブジェクト指向の話になります。オブジェクト指向言語にはクラスとインスタンスという基本的な概念があります。クラスとは、ひな型またはテンプレートで、インスタンスはメモリ上の実体です。オブジェクト指向言語ではクラスを"new"するとインスタンスがメモリ上に生成されます。コンピュータの世界ではメモリ上に存在するものが実体です。(実体という言葉は哲学的には議論の争点となる言葉で簡単には使えませんがとりあえずここでは軽い意味でつかいます。)つまりひとつの「型」で同じクッキーをいくつも焼けるように、ひとつのクラスから"new"でいくつでもインスタンスが作れます。クラス=「型」、"new"=焼く、オブジェクト(オブジェクト指向言語の用語ではインスタンス)=クッキーです。
第1問はイメージしやすい例ですが、第2問はイメージが難しい。
『さて、結論だ。プラトンは感覚世界の後ろに本当の世界がある、と考えた。これをプラトンは「イデア界」と名づけた。ここに永遠で不変のひな型、わたしたちが自然のなかで出会うさまざまな現象の原形がある。この、あっと驚く考え方が、プラトンの「イデア説」だ。』( [1] P116 )
イデア界に存在する馬のイデアをどうすれば馬ができるのでしょうか。クッキーなら「型」で抜いて焼けば良いわけです。実世界ではどういう意味をもつのでしょうか。コンピュータの世界は簡単です。馬のクラスを"new"すれば馬のインスタンスが生成される。クッキーでも馬でも同じ扱いです。
「"new"すれば」と簡単に言ってしまいましたが、現実の世界ではどうするのでしょうか?(現実の世界で"new"できるのは神様しかいない。)
イデア界に存在する馬のイデアとは、コンピュータの世界ではソースコードに記述された馬のクラスです。感覚世界に存在する馬とは、プログラムを実行した結果メモリ上に生成された馬の一つのインスタンスです。イデア世界=ソースコードレベルの静的な世界、感覚世界=プログラムを実際にコンピュータで実行する動的な世界と考えることができます。
(やや低レベルな、いや、かなり浅薄な見方ですね。また何れ考え直します)
【記:2/14/98、最終更新:3/6/98】
「ソフィーの世界」より、プラトンのイデア論とオブジェクト指向について(2)
『さあ、想像してみて。人間は地下の洞窟に住んでいるんだ。人間たちは入り口に背を向けて、首と両足をしっかり縛られている。だから、洞窟の奥の壁しか見えない。』([1] P121)
プラトンがイデアを説明するために考えた例え話です。洞窟の住人には後ろから照らされた人形か何かの影しか見ることができない。その影が、住人の後ろに存在する実体の影に過ぎないということが分からないわけです。
あるときひとりの住人が囚われの身から開放され、今まで実体と信じていたものが影に過ぎないことに気付きます。
『・・・洞窟から地上へと這い上がれたら、きっともっと目がくらんでしまうだろう。けれども・・・なんてすべては美しいのだろう、と思うんじゃないかな。なにしろ、初めて色やくっきりした輪郭を見たからだ。彼はほんものの動物や花を見る。洞窟ではそのまがいものを見ていたのだった。けれども、その次に彼は疑問をいだくんだ。この動物や花はどこからきたのだろう、とね。彼は、空の太陽をあおいで、洞窟では火が影絵を見せていたように、太陽が花や動物に命をあたえているのだ、と思い当たる。』([1] P121)
ここからオブジェクト指向の話です。
(1)洞窟内のモデル
人形=クラス、影=オブジェクト(オブジェクト指向言語の用語ではインスタンス)です。ここで影を"new"するのは人形の後ろにある火です。
(2)洞窟の外のモデル
モデル(2)はモデル(1)のメタモデルと考えます。動物や花=オブジェクト(オブジェクト指向言語の用語ではインスタンス)です。動物や花を"new"するのは太陽です。動物や花のクラスに該当する何かがイデア界に存在する筈だと言う考え方です。
【記:3/22/98】
無から有を生成する不思議なオブジェクト指向操作について
Windowsが普及したため、今ではマウスによるGUI操作は当たり前になってきました。一昔まで行かないほんの数年前までは、キーボードからのコマンド入力操作が基本操作だったのに比べ、隔世の感がします。
オブジェクト指向操作という言葉があります。Windows95ではデスクトップにショートカットアイコンをならべることができます。たとえばWordのショートカットをデスクトップに作成したとします。このアイコンをマウス左ボタンでダブルクリックするとプログラムが起動します。これは一見オブジェクト指向操作の典型例のようです。しかしプログラムを起動するといういう操作はオブジェクト指向っぽくありません。これに対して、作成済みの文書をショートカットとしてデスクトップに作成し、これをダブルクリックして開くというのはオブジェクト指向操作です。
「何を」−「どうする」という操作体系と、「どうする」−「何を」という操作体系があります。常識的に考えれば前者の方が自然と思われますが、今まで使われてきた、そして今でもUNIXやメインフレームで使用されているコマンドによる操作体系は後者が基本です。
例えばAという名前のファイルの削除を考えましょう。DOSでは"DEL A"とキー入力します。まず"DEL"で削除するという動作を指定し、続いて"A"で削除する対象物を指定します。動詞−名詞の順、「どうする」−「何を」です。これをWindowsで実行するとどうなるでしょう。エクスプローラが開かれていて、その中にAがあるとします。このとき"A"をマウス右クリックで選択してメニューを表示し、続いてそこの"削除"メニューを選択します。まづ対象物を指定し、次に動作を指定します。名詞−動詞の順、「何」を「どうする」です。
ここから本題です。では「新規作成」の操作はどうするのがオブジェクト指向操作かという問題です。「何を」−「どうする」という操作体系の「何」がまだ存在しないわけですから、マウスで選ぶわけにはゆきません。 それで、Wordを起動するしかないのですが、デスクトップにプログラムの起動というコンピュータの操作が入って欲しくありません。
現実の世界を考えてみましょう。メモなりレターなり書こうと思ったとき、まづメモ用紙かレター用紙を机の引き出しかキャビネから持ってきて机の上に置きます。決していきなり机の上に用紙が現れることはありません。 これをコンピュータの世界に持ってくると次のようになります。用紙というアイコンをデスクトップに置いておきます。これをダブルクリックするとWordが起動されて白紙の状態の文書が開かれる。何か大袈裟なことを書きましたが、WindowsでWordを起動すると結局新規文書が開かれているから同じじゃないか?Wordを起動すると言わないで、新規文書を開くといえば同じです。
ところで、Wordの中にある「新規作成」メニューはどう考えれば良いのでしょう。このメニューは英語では"new"です。WordというClassを"new"して新規文書というインスタンスを作ると考えるのはどうでしょう。 これは「型」で抜いてクッキーを焼くという程には分かり易くありませんが、イデア界の馬のイデアから感覚世界に馬を生み出すよりは分かり易いのではないでしょうか。
それにしても「"new"する」ってすごい言葉だと思います。無から生成されるのです。
【記:2/20/98、最終更新:3/6/98】
運慶にとってはただ取り出すだけの仁王を、なぜ他の人は取り出せない?
夏目漱石 |
『運慶が護国寺の山門で仁王を刻んでいるという評判だから、散歩ながら行ってみると、自分より先にもう大勢集まって、しきりに下馬評をやっていた。』( [2] P24 ) 漱石の「夢十夜」の第六夜です。
運慶が自在に鑿を振るって仁王を彫っているところを見物人が取り囲んで、あまりの見事さに見とれています。
『「能くああ無造作に鑿を使って、思うような眉や鼻ができるものだな」と自分はあんまり感心したから独言のように言った。するとさっきの若い男が、「なに、あれは眉や鼻を鑿で作るんじゃない。あの通りの眉や鼻が木の中に埋まっているのを、鑿と槌の力で掘り出すまでだ。まるで土の中から石を掘り出すようなものだから決して間違うはずはない」と言った。』( [2] P27 )
彫刻とはそんなものなのかと考え、自分も家に帰って薪にするつもりの手頃な木を選んで彫り始めますが 仁王は出てきません。次々と試して見ますが仁王はでてきません。
さて、ここから本題です。運慶に取っては木の中に埋もれている仁王も他の人には取り出すことはできません。プラトンのイデアをここに持ち込むなら、イデア界に仁王のイデアがある訳です。運慶にはそのイデアが見える訳です。彼はそれを型に入れてケーキのように焼き上げる代わりに、鑿と槌で感覚世界に生み出す訳です。
この話は次のオブジェクト指向分析/設計に繋ぎたいと思います。
【記:3/5/98】
エンティティはただそれだけで存在し得るが、オブジェクトは認識する人がいて始めて存在する。
オブジェクト指向分析/設計と呼ばれる開発方法論があります。これは一昔まえに提唱された構造化分析/設計を発展させたものと考えられます。この中間にDOAと呼ばれるデータ指向の開発方法論があります。
あるシステムの要求定義が与えられてオブジェクト指向分析/設計手法で開発を始めるとします。最初の工程は、業務または問題領域の分析です。分析の目的は実世界の業務や問題をモデル化することです。このモデルのひとつがオブジェクトモデルです。オブジェクトモデルを作るためには、まづオブジェクトの抽出を行います。"object"とは何か?小学館新選英和辞典には次のように出ています。
1.(見たり、触れたりできる)物、物体
2.(・・・の)対象となる人(物、事)
3.(・・・の)目的
4.(文法で)目的語
ここでは取りあえずオブジェクトとは「もの」であると考えましょう。では、オブジェクトを「抽出」するとはどういう意味でしょう。もともと存在するオブジェクトを単に見つけ出すということでしょうか?それとも分析者がオブジェクトを作るのでしょうか。
ここで先の夢十夜の話に戻る訳ですが、実世界の業務の中にオブジェクトが隠れていて、それを運慶ならぬモデラーが掘り出す訳です。業務の中に隠れているオブジェクトを引き出すには、イデア界が見えていなければなりません。
次にエンティティについて考えます。DOAによる方法論ではEntity-Relationモデルを作成します。これはオブジェクトモデルに大変似ています。EntityがObjectに対応します。"entity"とは何か?小学館新選英和辞典には「実在するもの、実体」と出ています。
実際のシステム開発で分析モデルを作成すると、オブジェクトモデルとERモデルはかなりそっくりなものができます。ではオブジェクトとエンティティは何が違うのでしょうか?どちらも基本は「もの」です。しかしエンティティはそれ自体で存在しえるがオブジェクトは誰かが認識して始めて存在する。
(続く)
【記:3/5/98】
目次
☆余談 − 故国と祖国
クラスとインスタンスの例
太平洋戦争末期のヨーロッパで、すでにドイツも降伏した頃の話です。ポツダム宣言が発せられ祖国の存在が危うくなってきた日本人と祖国再興を願うポーランド人の会話です。
日『あんたはじっさいの故国のありようを愛しているというよりは、・・・祖国という考え方そのものが好きなようだな。そいつがポーランドでも、日本でもいいようだ』
ポ『・・・わたしが愛しているのは、実体としての故国ではなく、祖国という概念かもしれん。・・・』
日『実体のないものに人生と愛を捧げることは、不毛じゃないのか』
ポ『そうかな。目の前の・・・しか愛せないってことよりは、はるかに意味のあることだと思うが』
佐々木譲作「ストックホルムの密使」(下巻P10-11)ちなみにこの小説は「ベルリン飛行指令」「エトロフ発緊急電」につづく”第二次対戦秘話三部作の完結篇です。この小説の感想をここで述べるのは趣旨ではありませんので、本題に入ります。
オブジェクト指向の例題みたいですが、祖国がクラスで故国がオブジェクト(オブジェクト指向言語の用語ではインスタンス)です。
では故国という実体と祖国という概念はどちらが先にあったのでしょうか。
(1)日本とかポーランドとかの故国という実体を抽象化して、”後から”人間が祖国という概念に整理してまとめた。
(2)プラトンのイデア界またはどこか高次元の世界に”先に”祖国という概念が存在して後から日本とかポーランドとかの故国という実体が生まれた。
この節は、一旦ここで打ち切ります。
【記:3/20/98】
静的モデルと動的モデル
システム開発を行うときはモデル作りから始めます。"model"とは何か?小学館新選英和辞典には次のように出ています。
1.(・・・の)模型、ひな型
2.(・・・の)模範、手本
3.以下省略
例えば、要求モデル、分析モデル、設計モデルという言い方をします。
要求定義とは、システム化すべき問題から要求モデルを作成することです。分析とは、要求モデルを分析モデルに、設計とは分析モデルを設計モデルに、実装とは設計モデルを実装モデルに変換することです。
オブジェクト指向分析/設計、と言ってもいろいろな方法論があり用語も様々ですが、オブジェクトモデルと相互作用モデルは必ず作成します。オブジェクトモデルは静的なクラスの構造を表現するモデルです。相互作用モデルはオブジェクト間のメッセージの動的な流れを表現します。つまり前者が空間を、後者は時間を問題とします。ソフトウェアはプログラムとして動かす必要があるので静的構造だけではなく、動きを表現することが必要なわけです。
ソフトウェア開発の難しいところは時間と空間の両方を考えなければならないことです。コンピュータが発明された頃はプログラムの自動実行に焦点があり、時間論が主でした。1970年台メインフレーム全盛時にプログラムを設計するといえばフローチャート作成作業がその大半でした。(最近フローチャート定規あまり見なくなりました。)その後データにも着目され構造化分析/設計、オブジェクト指向分析/設計へと改良され発展してきました。
オブジェクトはデータとプロセスをカプセル化したものです。一つのオブジェクトでシステムはできません。複数のオブジェクトが協調してシステムが完成します。その協調の方法が時間的なものと空間的なものの二通りあるということです。
(未完成)
【記:3/20/98】
小林秀雄 |
モーツァルトは何故1夜で作曲できた
モーツァルトは1夜で作曲することができたそうです。『作曲は終わりました。あとは書くだけです』( [4] P229 )
構想が一幅の絵画の如く鮮明な形で見えるそうです。このイメージが浮かぶと後は関係のない話に興じながらでも譜面に書いていけるといいます。
『構想は、宛も奔流の様に、実に鮮やかに心のなかに姿を現します。然し、それが何処から来るのか、どうして現れるのか私には判らないし、私とてもこれに一指も触れることは出来ません。・・・そして、それは、たとえどんなに長いものであろうとも、私の頭の中で実際に殆ど完成される。私は、丁度美しい一幅の絵或は麗しい人でも見る様に、心のうちで、一目でそれを見渡します。』( [5] P15 )
さて、作曲はシステムの構築とは大分様子が異なります。譜面に書いていく工程はプログラミングに対応すると考えましょう。ここでの「一幅の絵画」が設計モデルにあたるわけです。オブジェクト指向分析/設計では設計モデルは主にクラス図(静的モデル)と相互作用図(動的モデル)で表現します。ここで奇妙なのは、音楽というものは時間の流れが重要なので動的モデルが本質的に必要なのに、絵画という静的モデルを持ってきていることです。モーツァルトの時代には映画とかテレビがなかったのでそのように表現しなかっただけで、実は動画として現れていたのでしょうか?それにしてもモーツァルトにはきっとイデア界に存在する音楽が見えて(聞こえて?)いたということなのでしょう。
【記:5/21/98】
「ソフィーの世界」より、アリストテレスの「質料」、「形相」とオブジェクト指向について(1)
アリストテレスは、現実は「形相」と「質料」が一体となってできていると考えた。
『「質料」はものを作っている素材、「形相」はそのものをそのものにしている固有の性質のことだ。』( [1] P144 )
『きみの前で一羽の鶏がはばたいているとするよ、ソフィー。鶏の形相とはまさにこの、はばたくことだ。それからコケコッコと鳴くこと、卵を産むことだ。鶏の形相は鶏という種の固有の性質、言いかえれば鶏はどんなことをするか、ということだ。』
『アリストテレスは、自然界の変化に関心をよせたのだった。質料にはかならず特定の形相をとる可能性がある。質料は内に秘めた可能性を現実のものにしたがっている、と言っていい。自然界のあらゆる変化は、アリストテレスによれば、質料が可能性から現実性に変化することだ、ということのなる。』
「質料」、「形相」をオブジェクト指向にあてはめると、「形相」はメソッドのようですが、「質料」はオブジェクトそのもの、あるいは、特にその属性に対応するように思います。鶏というオブジェクトは「はばたく」、「鳴く」、「卵を産む」といったメソッドを持っています。外部からのメッセージにより該当するメソッドを実行します。メソッドを実行した結果、そのオブジェクトの属性値(質料)は変化します。
【記:5/6/98】
☆彫刻家のたとえ話
「ソフィーの世界」より、アリストテレスの「質料」、「形相」とオブジェクト指向について(2)
「ソフィーの世界」アリストテレスの章にこんなたとえ話があります。
『昔、彫刻家が大きな花崗岩にとりくんでいた。彫刻家はくる日もくる日もこのただの石くれをたたいたり削ったりしていたんだが、ある日、小さな男の子がやってきた。「なにしてるの?」男の子がたずねた。「待っているのさ」と彫刻家は答えた。何日かして、また男の子がやってきた。彫刻家は花崗岩から一頭のみごとな馬を掘り出していた。男の子は、はっと息をのんで馬にみとれた。それから彫刻家にたずねた。「この馬がこの石に入っていたって、どうしてわかったの?」』( [1] P145 )
この話「夢十夜」とそっくりですね。アリストテレスは『この花崗岩には馬になる可能性が宿っていた』つまり『自然界のすべてのものは特定の「形相」を実現する可能性を内に秘めている』と考えた。
この「質料」は花崗岩という状態(属性値)と馬という状態(属性値)を持っている訳です。状態を変化させる「形相」(メソッド)を呼ぶために「たたいたり削ったり」してメッセージを送っていると見ることができます。
クラスが先か、オブジェクトが先かという観点からプラトンとアリストテレスの考えを見ると、丁度対極的です。
プラトンは、感覚世界に存在するもの(オブジェクト)は、イデア界に存在するイデア(クラス)の影にすぎないと考えていた。つまり、まずクラスがあって、それからオブジェクトが生成される。一方、アリストテレスはこの世に存在するものが先で、人間が後からそれを抽象化するのだと考えた。
【記:5/7/98】
自立分散協調動作とオブジェクト指向について
オブジェクト指向は現実の世界をそのままモデル化できることが特徴のひとつだと言われています。基本的に現実に存在する「もの」をそのままオブジェクトに置き換えていけば、大部分のオブジェクトを抽出することができます。
人間社会を考えてみます。人間ひとり一人は独立していて独自の判断で行動します。そしてお互いに相互作用を行いつつ協調して社会というものを形作っています。つまり個別にばらばらに自立していて、かつ協調して行動しているのが人間社会です。
オブジェクト指向は自立分散協調動作のしくみを提供するひとつの手段です。だからオブジェクト指向は現実世界をモデル化し易いわけです。いや逆かもわかりません。人間社会の自立分散協調の仕組みを抽象化したものがオブジェクト指向の本質なのかもわかりません。
この自立分散協調という仕組みは、この世界あるいはこの宇宙といってもよいですが、かなり本質的なものだと感じます。オブジェクト指向もその仕組みに従っているのでいろいろな場面で応用ができるわけです−オブジェクト指向言語、オブジェクト指向操作、オブジェクト指向分析/設計そして分散オブジェクト。
【記:6/12/98】
中央集権と地方分権
中央政府が強大で地方自治をほとんど認めない社会形態と、逆に中央政府は小さく地方自治権を尊重する社会形態があります。会社組織でも現場の権限が少なくトップが細部にまで指示する組織と、逆に事業部制のように組織に権限を委譲して自由に活動できる組織形態があります。また、ピラミッド型組織とフラットな組織の形態もあります。
人間は本質的に自由な存在です。他人の支配など好まない。しかし非常時、緊急に対応しないと自分が寄って立つところの社会や組織の存続が危うくなりそうな場合は一時的に自由性を犠牲にせざる得ない。つまり、平常時は地方分権型が良いが、非常時は全体のコントロールがし易い中央集権型もやむを得ない。
オブジェクト指向は地方分権型の考え方ですが、なぜコンピュータの世界にこのような考え方が出てきたのでしょうか。オブジェクト指向の前にあった一般的な考え方は構造化です。構造化は中央集権型、ピラミッド型の考え方です。システムが小さい間は全体の完全なコントロールが可能ですが、ある規模を超えるとコントロール不能となります。オブジェクト指向はそれぞれの役割と責任範囲が限定されている分、有利です。
【記:1/20/99】
参考文献
[1]ヨースタイン・ゴルデル著、須田朗監修、池田香代子訳、「ソフィーの世界」、NHK出版