2011年7月21日木曜日

依存

孤立(Stand Alone)の状態で生きている人間はいない。

必ず他者、モノ、時間、知識、組織。そして、それらとのネットワーク関連構造に依存して生きている。

プログラミングの世界での鉄則がある。

「依存関係を最小にする事」

AモジュールがBモジュールに依存してるとする。



(例)

Aモジュール:ホイール
↓依存
Bモジュール:ミシュラン・タイヤ


この場合、タイヤをミシュランからダンロップに変更しようとすると、Aを作り直して、Cモジュール:ダンロップ に依存先を変更する必要がある。

タイヤとホイールの関係は規格化されている。

つまり、ホイールからタイヤ全体を集合として見ると、このような関係になる。



Aモジュール:ホイール
↓依存
インターフェース:タイヤ規格(タイヤ幅、扁平率、リム径)
↑適合
Bモジュール:ミシュランタイヤ
Cモジュール:ダンロップタイヤ

この状態になり、ホイールは特定のタイヤという存在に縛られず、ホイールにとって必要な情報だけを概念として抽出し、具体的なタイヤには縛られない状態になる。




仕事や日常生活で、特定の存在に依存する例はとても多い。

例えば、中学生が読むような雑誌で、

「こうすればデートが成功する」

みたいなHow To特集があったとする。
食事をするお店の評判を事前に調べて検討し、相手の好むプレゼントを用意し、話題はどのようなモノがいいか、という事が延々と書いてある。

ある男の子は、このステップを全て、必死で暗記するだろう。

別の男の子はこう考えるかもしれない。

「この本が言いたい事は、つまり女の子の立場になって、思いやりを持て、という事だ」


一人目の男の子は、デート本自体に依存した。
二人目の男の子は、デート本の「概念」だけを抜き出し、それに依存した。


人、モノ、知識、時間。

様々なモノに依存しなければ生きていけないのが人間だけど、特定のなにかだけに依存しなければいけない状況は、実は少ない。


システム開発の現場には、多種多様な方法論が存在し、時々、各派閥が宗教論争のような議論になる事がある。

その人達は、特定の方法論に依存しているのだ。
大事なのは、自分が置かれている「現実」に、方法論の「概念」を適合させる事なのに。


人の恋愛感情もそうかもしれない。

人が人に惹かれるのは、その存在自体というより、その存在が持つ「Something Special(特別なモノ)」だ。
存在自体に価値を見いだすと、それは神への盲信と同じ。完全な依存だ。

自分から見た、その人の「Something Special」が変容した場合、
良い方向へ導く事も出来るかもしれない。
それが無理なら、去る事も出来る。


存在自体に価値を見いだすのは、愛ではない。宗教だ。


インターフェースを知る事。

それは、なにをするにも、一番大事な事なんだ思う。



IMG_0032