正しい理解を妨げる落とし穴
オブジェクト指向という考え方は,目に見える「もの」を中心に現実世界を識別する人間にとって,自然な考え方であると説明されることもあります。にもかかわらず,オブジェクト指向は難しい技術だと言われます。その理由の一つとして,オブジェクト指向がソフトウエア開発の幅広い分野を対象にしていることが挙げられるでしょう。抽象的な考え方が求められるから難しいのだという意見を聞くこともあります。
しかし筆者には,どうもそれだけが原因とは思えません。筆者は過去に,オブジェクト指向と哲学を対比する説明や,「オブジェクト指向を使えば現実世界をそのままプログラムに表現できる」といったちょっと不思議な説明を聞く機会が時々ありました。そうした聞き手の意表を突く話は,何かおかしいと感じながらも,思わず受け入れてしまいがちです。そうした経験から考えると,難しいというよりも混乱していると解釈するほうが適切に思えます。
以降では,そうした混乱を引き起こしている原因として「比喩の乱用」と「強力過ぎるコンセプト」の二つの問題を説明します。この二つは,オブジェクト指向の正しい理解を妨げる落とし穴と言えるでしょう。「オブジェクト指向は難しくてよくわからない」と思っている方は,ぜひその先入観を捨てて,白紙の気持ちで読み進めてください。