そういうことって、どういうこと?

しんさんのところのコメント欄で、

初心者に対してはある程度の嘘はありかなと思ってます。
実際、教育というのは嘘を使います。
算数・数学。はじめは「数は整数」と教えますよね。
しかし実は小数ってのがあるんです、とカミングアウト。
ところ実は分数が、仮分数が、負の数が、虚数が…と次々に展開されるわけです。


でも、実生活にはせいぜい分数が分かれば十分です。
しかし虚数は必要な人には必要で、そういう世界では虚数を知らないのは
非常識になるわけです。


…そういうことだと思うんです。
限られた時間(紙面)で記述できることなんてたかがしれていますからね。
またそのレベルならここまで知れば御の字という目標がある。
そりゃはじめから全部マスターできればいいですけど、それができるのを天才というのでしょう。
だから必要悪としての嘘(端折り)はあると思うんですけどね、私は。

常識だよ! - しんさんの出張所 はてな編

こんな意見があったのだけど、人のブログのコメント欄に書くには気が引けたので、こっちで。


まず、「初心者に対してある程度の嘘はありかなと思ってます」ですが、そのとおりだと思います*1 *2
でも、全ての嘘が許されるわけないのは当然で、あの本は「許されない嘘」がかなり大量にある、という認識です。
しかも、「必要ない嘘」もかなりあるのも問題です。
マクロのバグや、delete していないなど、ああ言う嘘は必要ない嘘ですよね。はじめから正しいことを教えればいい。


で、端折ることですが、これも大切ですよね。
でも、本来端折るようなところに言及してるうえ、さらに間違っていることもある。
例えば、あの本では「パフォーマンス重要」って感じの書き方が目立つんです。しかも姑息な手段の話が多い。
これは、「端折るべき内容」だと思うんです。
新人に高速化のための手段として、マクロ化や SSE/SSE2 なんて持ち出しますか?まずはアルゴリズムの話でしょう、どう考えても。
SSE や SSE2 なんて、それこそ「実生活」に必要ない知識ではないですか?


そういうことです。

*1:ただ、嘘を教えなくて済むならそれに越したことはない

*2:例はあまりしっくりこないけど。「数は整数」だなんて教えてもらったことないし。