類似

「同じとはなんぞや? 似ているとはなんぞや?」

  1. 「鈴木さんは、毎日、同じセーターを着てますね。」
  2. 「佐々木さんは、鈴木さんと同じセーターを着てますね。」

どちらも "同じセーター" と表現しているけれども、最初の文に登場するセーターは 1 着*1、もう一つの文には 2 着 (佐々木さんのと鈴木さんの) のセーターが登場する。どちらも "同じセーター" と表現しているけれど、物理的に同じセーターを指している場合と、種類が同じセーターを指している場合とがあるのだ。他にも、色違いのセーターを "同じ" と表現する場合もあるし、よく似たセーター (どちらもタートルネックとか) を "同じ" と表現する場合もあるだろう。"同じ" と言っても、けっこう "違う" ものだったりする訳だ。オブジェクト指向的には、インスタンスが同じ、クラスが同じ、ベースクラスが同じと云う感じ。

人は文脈や状況から "同じ" と表現している対象が何なのかを判断するのだが、ずれて議論をしているケースも見受けられる。例えば「同じ人間なんだから、仲良くしよう!」「いやいや、違う人間なんだから利害が対立するのは当然だ」みたいな感じだ。前者はクラスが同じことを意味していて、後者はインスタンスが別だと言ってるのだから、論点が噛み合ってない*2。このあたりをちゃんと認識できると、不毛な議論が減って前向きな話し合いになりそうな気がする。

さて、システム開発の話。セーターは目に見えるものだから、何が同じなのかと云うことについて、共通認識を持つことは容易い。人間の例のように、目に見えるものでも会話がずれてしまうケースがあるけれど、説明すれば*3共通認識を持てるだろう。しかし、システム開発の場合は、そう簡単ではない。ビジネスの話から、1 bit の世界までと問題領域は広範囲に及ぶし、目に見えない観念的な話が大半を占めるからだ。観念的なものを見るのは、目ではなく脳である。こいつがなかなかやっかいだ。いくら表現を工夫したところで、相手が見るための努力を拒否するなら、瞼をこじ開けたところで見せることはできないし、脳で見るため努力とは、学習や訓練や人生経験*4を意味するからだ。

学習や経験を積んだとしても、一つ一つの観念についての認識がずれてしまうことは少なくない。例えば、気軽に "オブジェクト指向" なんて書いてしまったが、完全な共通認識を持てるオブジェクト指向の定義は存在しない。100 人いれば 100 通りのオブジェクト指向があると言っても過言ではない。とある二人が「やっぱ、オブジェクト指向ぢゃないと解決しないよ。」「うん、そうだね。」と云う会話をしていたとして、二人の頭の中にあるオブジェクト指向が同じものかどうかは分からないし、解決したいと思っている事柄がどれだけ一致しているのかも、かなり怪しい…。

「なんか毎日同じことをやってるような気がする…」と云う漠然とした感覚を持っている人は少なくなく、その感覚は絶対に正しい。問題は「いったい何が同じなのか?」と云うことを厳密に切り出すことと、他の人と共通認識を持つことに分けられる。

…とりあえず、"同じ" っつーのは、けっこう難しいと云う話だな。

*1:同じセーターを何枚も持っていると考えられないことも無いけれど…。

*2:だから両方の主張は矛盾しないのに、矛盾しているかのような錯覚で議論しているだけ。不毛だ。

*3:共通認識を持とうと云うお互いの気持ちも必要だ。

*4:あるいは天賦の才か?