2013年6月21日金曜日

おまじないとカーゴカルトプログラミング

よく初心者へプログラミングを教えるときは、
"おまじない"として決まり事のように教えることがあります。

"おまじない"として"#include <stdio.h>"をタイプしろと、
一体どれだけの人が説明したことでしょう。



一方で、
"カーゴカルトプログラミング"というアンチパターンが存在します。

これを簡単に言ってしまえば、
意味も分からず"おまじない"を盲目的に使っていると、
関係ない部分や余計な部分に記述してしまって問題となることを指します。

言っている意味としては、
"おまじない"≒"カードカルトプログラミング"でだいたい合っています。



つまりプログラミング初心者に対して、
私たちは最初からアンチパターンを教えていたことになるのです。

しかし"おまじない"を避けて説明しようとするなら、
初心者は誰もついてこれないことでしょう。

最初に習ったことは無意識に引っ張られやすいものですし、
できることなら間違ったことを教える内容から極力除外したいものです。

本当にプログラミングを上達して貰いたいのであれば、
この"おまじない"は避けるべきではないでしょうか。



さいわいなことに、
最近のプログラミング言語は"おまじない"が昔よりずっと少なくなりました。

アンチパターンを教えないという方針に則るのであれば、
Rubyなんかを使って教えた方が良いでしょう。

まあ"簡単過ぎる"という欠点もあるのですが、
アンチパターンを踏むよりかはマシだと判断しました。

もし本物のプログラマーを求めるのであれば、
SICPでふるい分けでもすれば良いのですから。

0 件のコメント:

コメントを投稿