とりあえずアイデアだけメモっておくという手法は、抱え込んだアイデアを出せずに悶々とすることに対して精神衛生上有効だと気付いたので、もうちょっとアイデアを吐き出しておくことにした。
前口上 §
アイデアを文書として形にする暇がないので、メモだけ書いておく。
まだ無意味な文章なので、無意味監獄に書いておく。
無意味であるために、このような文書に対して真面目に考える行為は野暮である。
しかし、「あえて」という言葉のニュアンスを正しく把握できている人は、あえて野暮を行うことは可能である。(こんなことを、いちいち断らねばならないのは、やはり知性の衰退と言うべきだろうか?)
銀の弾丸という概念 §
「人月の神話」という古典的名著に、「銀の弾丸」という言葉が出てくる。
これは、ソフトウェア開発のあらゆる問題を解決する手段を意味する言葉。
そして、この本では、「銀の弾丸はない」ということを記している。
銀の弾丸の定義 §
「人月の神話」には、「銀の弾丸」の厳密な定義は与えられていない。その点で、イメージにしにくいところがある。
ここでは、銀の弾丸に、便宜上、以下の定義を与える。
では万能解とは何か。それは、以下の条件を満たすツールなり手法なり方法論なり思想なりを示す、とする。
- 時間に依存しない (今日有効であるものは100年後にも有効である)
- 規模に依存しない (小規模開発でも大規模開発でも有効である)
- 対象分野に依存しない (ビジネスだろうとゲームだろうと科学技術計算だろうと有効である)
銀の弾丸は存在しないという前提を受け入れる場合、上記のような条件を満たすツールなり手法なり方法論なり思想なりは存在し得ない、という仮定を取ることは有効と思われる。
オブジェクト指向にしばしば見られる言説 §
たとえばC#とJavaを比較した論争でしばしば見かける言葉に、以下のようなものがある。
「Javaは新しい」 §
単純に時間軸で見ると、C#の方が後発であり、Javaで明らかになった問題点もカバーするように作られていて、新しいのは明らか。また、Javaは思想的にもC#出現時に既に古びた思想に立脚している点があり、無条件で新しいとは言えない。
それにも関わらず、「Javaは新しい」という言葉が出てくることは、時間軸の流れが意識されていない可能性がある。時間軸の流れを意識しない、という特徴は、万能解の「時間に依存しない」という特徴と重なる。
(余談: コンテキストを意識することが希薄であるという解釈は可能か?)
「オブジェクト指向的に正しい」 §
「オブジェクト指向的に正しい」という言葉が、C#よりJavaが正しさを示すために発せられるケースがしばしばあるが、これにはプログラム言語が想定する規模や用途を検討することなく、オブジェクト指向という1つの指標によって評価可能であるという態度を見て取ることができる。
これは、万能解の「規模に依存しない」「対象分野に依存しない」という特徴と重なる。
その他 §
他にも慎重に拾い上げると、万能解の特徴を匂わせる言葉が、オブジェクト指向に関係して出てくるケースがしばしば見られる。
オブジェクト指向は「銀の弾丸」か? §
以上のような状況から、オブジェクト指向は「銀の弾丸」(万能解)か?という疑問が発生する。
反証 §
オブジェクト指向に関して、きちんと現場の実情を踏まえ、自分の頭で考えてものを書いている人達の中には、自らが書いているものが万能解ではないと明瞭に文中に示しているケースもある。
その点で、全てのオブジェクト指向に関する主張が、「銀の弾丸」(万能解)の特徴を持っているとは言えない。
一部のオブジェクト指向は「銀の弾丸」であるか? §
しかし、一部のオブジェクト指向に関する発言からは、万能解の特徴を匂わせる言葉が出てくるのは確かなように思われる。
そこで、以下のような問いかけは可能かもしれない。
一部のオブジェクト指向は「銀の弾丸」であるか?
「銀の弾丸」の否定と万能解の支持は両立するか? §
一部には、「銀の弾丸」などあるはずがないという主張と、万能解の特徴を持ったオブジェクト指向の支持が同居している事例が見られる。
これはなぜか?
素朴な信仰に由来する「銀の弾丸」よりも、複雑かつ高度な理論があるため、(見かけ上の)信頼度が上がるためだと考えられるのか?
であるならば、以下のような問いかけは可能か?
一部のオブジェクト指向は理論武装された「銀の弾丸」であるか?
上記の問いかけかの一般化 §
上記の問いかけは、IT業界の様々な技術(思想)に対して、一般化することができる。
一部の、とある技術(思想)は理論武装された「銀の弾丸」であるか?
つまり、以下のような問いかけは可能ではないか?
銀の弾丸に対して、複雑な理屈を付けることによって、銀の弾丸ではないと思わせるテクニックは可能であり、実際にそのようなテクニックが行使されている事例があるのではないか?
ユーザーは「銀の弾丸」を待っている §
漠然と、理論武装された「銀の弾丸」がいともたやすく流行る状況が見られるような印象がある。
もし、その解釈が正しいとすれば、「銀の弾丸」など無い、という常識を受け入れているユーザーであっても、実際には「銀の弾丸」を待ち望む気持ちは強いということだろうか?
もっともらしい理屈が付いてくると「銀の弾丸」に飛びついてしまうのだろうか?