オブジェクトの天使と悪魔

オブジェクト指向プログラミングをするときの感覚はどのようなものか。

一言で言うと、ボクは新世界の神になる!(キリッ


オブジェクト達がうごめいている世界を作って、
オブジェクトのコミュニケーションによって
創造主(プログラマ)の望むものを造りあげる。

まず、創造主は世界を作るための箱庭(VM)を用意する。
何らかの役割を持った種を作り上げるための元となる偶像(クラス)達を作り上げ、偶像と偶像の間の関係を定義する。
偶像の中には創世で最初に天命を授かるものの印として、天使のレリーフ(main)をもつものがいる。

世界の定義が終わったら、創造主はある1つの天使のレリーフに天使(ActiveThread)を使いに行かせて世界が始まりを告げる。

命(インスタンス)は天使が偶像に祈りをささげる(New)で創られ、
命は与えられた役割に沿って仕事を成して行く。
役割を終えた命はそっと天使の目の届かないところへ行き(ActiveThreadからの参照がなくなる)、悪魔(GC)がその命を昇天させる時までじっとしている。

箱庭から外の世界へ交信する(ファイル、DB、ソケットなど)者達も創造されることがある。これらは外の世界へ祈りをささげることによって、自分の世界の情報を伝えたり、外の世界の情報を受け取ったりすることが出来る。
祈りの交信は神聖なものであるため交信が終わるまでは光を放ち、悪魔を寄せ付けない。(C#でいうアンマネージド)
そのため、交信を終える(Close)をしないといつまでも悪魔が昇天させることが出来ずに箱庭世界を圧迫することになる。

天使は仲間の天使を呼んで分担して世界を動かしていくことが出来る(マルチスレッド)

・・・と、ここまで考えた。
あとは偶像の関連(継承とかインターフェースとか)って言うのは、偶像やその命とかのつくりの話になってしまうので割愛。



こうやって突き詰めていくと、やっぱりプログラムの思考は創造主を超えないんじゃないかっていう気がする。人が処理できないような膨大なデータを解析した結果を元に判断をしなければ・・・