誰しも一度は、
何かに例えて説明したことがあると思います。
「夢みたいな話」とか、
「マシュマロみたいや柔らかさ」とか、
まあ何でもいいです。
そして何かに例えて説明することは、
その分野を知らない人に対して有効と言えます。
「プログラミングはアートだ!」
なんかこの一例でしょうか?
しかし例えて説明することは、
それそのものを説明した訳ではありません。
どんなに優秀なメタファーにも漏れがあり、「厳密には違う」部分がどこかにあります。
抽象化の漏れの法則の変種です。
GUIのボタンが良い例です。
名前の通り現実のボタンのメタファーですが、
*厳密には*離したときに反応するか、押したときに反応するかで違いがあります。
パソコンをちょっと知れば分かることですが、
この違いが完全な初心者を苦しめます。
これは分かりやすい例で、
漏れの場所が小さくて分かりにくい場合もあります。
メタファーとして優秀な証拠だと言えますが、
その優秀さが問題となることもあります。
その説明をされた相手が、
「厳密には違う」部分に気がつかずに理解した気になることです。
これが厄介で、一度浸透するとなかなかうまく修正できません。
例えば、「VXMLはHTMLの音声版みたいなもの」という説明をしたとします。
※ああ、分かりにくい例だなぁ…
一言で説明するにはなかなかなんですが、
VXMLブラウザがサーバー側に存在するという違いを隠しています。
ユーザーは電話さえあればいいですから。
そして、プロの中でも勘違いしている人が居て…はぁ。
そんな感じ。