プログラマは何でもプログラミング用語に置き換えて捉えがちだ。絵を描く様子を見て「これはコーディング作業に当たる」「線を修正するのはデバッグだ」というように。そういう捉え方こそプログラマのダメなところだ。
1. プログラミングに置き換えた時点で、プログラミングには存在しない要素が削ぎ落とされる。あるいは、両方に存在するが重要性が異なる要素についても、その差を理解しきれなくなる。
2. プログラミングと他分野に共通する要素があったとしても、その対応関係を正しくモデル化できるとは限らない。片方しか知らない人間は、表層的な類似点に飛びついてしまいがちだ。
3. 置き換えたモデルの中で筋が通っていることを、現実における正しさと混同してしまう。プログラミングの枠組みに囚われて現実そのものを理解できていないにもかかわらず、「自分は論理的に考えているから正しく、現実の方が非論理的で間違っているのだ」と考えるようになる。
始末が悪いのは、構築したモデルが現実から遠ざかるほど、モデル内では整合性が取れているように見えてしまうことだ。現実は多数の要素が絡み合い、例外があり、曖昧である。逆に現実を単純化するほど一見論理的に見えてしまい、その単純化されたモデルこそが正しいのだという確信を強めてしまう。
もちろん、専門分野に置き換えて物事を捉えるのはプログラマ固有の性質ではない。しかし、ここではあえてプログラマに限定して論じた。なぜならプログラマには「自分は論理的に考えているのだ」という自負が強く、そこにこそ危険性があるからだ。
^^;
同意。 プログラミングに喩えると漏れのある抽象化って話だよね。