2020-11-18

愚かなプログラミング学習

テキスト説明理解できないとき学習者がすべきなのは自身理解を正すことであって、自己流の解釈を思い付くことではない。つまり

といったことをすべきなのであって、自分の腑に落ちるQiita記事とかを探すことは、全く理解に近づいていない。むしろ遠ざかっている。

というか、「明らかにからない用語などがあるのに、そこを回避して全体を理解しようとする」のは、プログラミングに限らず勉強法として根本的に間違っている。

かつて、どうしても「コメント」の意味理解できない新人がいた。

要するに彼は、プログラムの処理に関係の無い機構存在する意味理解できなかったらしい。

コメントは、コードでは表現できない実装意図ソースコード中に記述するときに用います

などと説明してみても、

...
// 15の倍数を先に判定しないと、たとえば15がFizzになってしまう
if (n % 15 == 0) {
    return "FizzBuzz";
} else if (n % 3 == 0) {
    return "Fizz";
...

みたいな簡単な例を示しても、一向に理解できない。

結局彼は、ネット解説記事をググった挙げ句に、

コメントは、処理をコメントアウトしてデバッグするための機構である

と言う結論に達したようだった。勿論、普通プログラマなら誰でも知ってるように、そういう使い方は良くない。

彼が本来すべきだったことは、まず

プログラミング言語のあらゆる機能が、プログラムの何らかの処理と対応している」

という誤ったメンタルモデルを正すことである。それを放棄して、自分にとって都合の良い出典不明情報鵜呑みにしたのが、そもそもの間違いである。

こういうことは、何も新人に限った話ではない。自分では一丁前のつもりのプログラマにも、ライブラリ等の全く見当違いな使い方をしてくる奴がよくいるのである

そういうのは、自分経験のある別の言語の○○という機能対応している、と勝手に思い込んでいたり、あるいは、実装とセマンティクスの区別ができず、インタフェースのような処理と直接関係ない機能理解できなかったりする。

要するに、不明点を正しく理解することを放棄して、自分に都合の良い解釈を得て早合点しているのである

そういう人はプログラマには向いていない。

  • ほんこれ。公式ドキュメント読めない奴はプログラミングやめろ 公式あるいはMDNのような公式に準ずる信頼できるリソースが読めないなら、プログラミングをやめた方がいい。 中学英...

  • 料理作るのも同じやな、レシピ無視して調味料いれたりする。 こんご公教育でプログラミングやり始めると、こういう問題が露呈して深刻化するんやろな

    • そもそもあいつら書いてあるとおりにタイプしてくれないんだよね 変数aryの指す配列のi番目の要素へのアクセスは ary[i]||<<って教えても>||ary(i) とか ary i とか書いてくる んで...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん