銀の弾などない
オブジェクト指向プログラミングの手法は成長が遅かった。
この理由には次のようなものが考えられる。 オブジェクト指向のプログラマは、C++で連結リストやセット (集合) のような比較的低水準な抽象化によるクラスを作る傾向があり、高水準な抽象化を行ってクラスを作ることは行ってこなかった。 (ジェームズ・コギンズの雑誌記事より) オブジェクト指向についてプログラマを教育するとき、オブジェクト指向を特定のツール/言語を使うことだと教えてしまうことが多かった。本来はオブジェクト指向は設計 (ソフトウェア設計) の一つの種類 (オブジェクト指向設計) だと教育し、設計の原則を与えるべきであった。プログラマは設計の原則を学ばずに単にオブジェクト指向言語を使うだけであったため、恩恵は少なかった。恩恵が少ないのでは普及しないのは当然である。 (デイビッド・パーナスからブルックスに宛てられた手紙の内容より)
オブジェクト指向の技法は厳しい状況にある。
本章では、ソフトウェア問題の本質と、提案されているそれぞれの銀の弾の特性の両方を検証することによって、それがなぜ特効薬になりえないのかについて見ていくことにする。 とはいっても、懐疑主義は悲観主義とは違う。輝かしい進展は見えないが、実際のところそう決めてかかることはソフトウェアの本質からは離れている。多くの頼もしい新機軸 (革新) が着々と進められている。それらを開発、普及、利用するという苦しいが一貫した努力こそ、飛躍的な改善をもたらすはずだ。王道はない。しかし、道はある。 病気治療の第一ステップは、悪魔信仰を細菌説によって生理学的理論に置き換えることだった。そのステップこそ希望の始まりであり、すべての魔法のような解決の夢を打ち砕いた。医療従事者は、進歩は段階を追いながら多大な労力を払って遂げるもので、健康回復には持続的で根気強い看護がなされなければならないと教え込まれた。今日のソフトウェアエンジニアリングにおいても、それは変わらない。