なぜ手法により、解くべき「問題」を変えるのか?
「より簡単な」手法を成立させるための秘訣とは、具体的には、
- 解きたい問題をある動かない物体に例えた時、
- ある手法をその物体に対する視座に例えると、
- 正面からの視座よりも、わざと横目ギリギリの視座の方が、
- 解きたい問題に例えた物体が単純に見える
という性質を利用しているのだと思います。歴史的に見て、最終的に妥当だろうとされたものとよりかけ離れた手法だと、自然と(所与の)問題が単純に見えるのです。
これによりダマす意志なしに、実質的にダマすことに成功しているのです。
なぜその様な破滅的な秘訣を許すのか?
プログラミングの手法とは、乱数のアリゴリズムと同じで、(少なくとも文脈内で)一貫していることが求められるからでは無いでしょうか?
(乱数のアルゴリズムをさらに、実行中にランダムに切り替えると乱数が良くなるかと思ったら、実際にはより悪くなるという話があるそうです。)
- 臨機応変に視座(手法)を変えるより、一貫性を求めた方が、問題を解くのに有利
というのは動かし様が無く、
- 大きなプロジェクトで、プロジェクトの成員に対して、一貫性を強要してしまう
(原理原則を無理偏に拳骨よろしく強要してしまう)
事実に対して、PMなど、権力勾配的に上の人間が恒常的に引け目を感じており、そのPMなどが優位性を感じていないプロジェクトでガス抜きをさせたいと感じるからだと思います。
根本原因は
その様にガス抜きをさせないといけないとなる根本原因は、
- より簡単な手法に対し、大勢の非専門家が賛意を與える
ことだと思います。ほめられるのは嬉しいのは確かです。
根本解決は
現在はプログラミング的には末世で有るとし、例えば100年後位に、
よりプログラミングが普及し、普通のお母さんが普通に子供に教えられる程度になり、
泰斗により標準的な教科書が何冊も(誰々の何々分野の教科書だ、みたいな)発行される
様な、来世に期待するしか無いと思います。
皆が知れば、皆が妥当とされない手法に賛意を與えることも無くなります。
その頃には化石燃料は使い尽くされているのかも知れませんが。。。
結論
少なくとも現時点では、これからも「より簡単な手法にさせてもらえない」事でプログラミングが嫌いになる人は存在し続けることでしょう。