Cargo cult programming
Cargo cultという言葉が生まれるに至った過程、また、この言葉の持つ意味の議論は、非常に興味深いものですが、それはさておくことにします。ここでは、cargo cult というのは、「その本質をとらえずに形だけを真似ること」、だと考えてください。例えば、綿密な生産スケジューリングという本質を理解せずに、トヨタのカンバン方式の形式だけをまねると、多分、cargo cult 経営と呼ばれるでしょう。プログラミングの分野では、他人の書いたプログラムの意味を考えずに、形だけを真似る(例えばコピー&ペーストする)ことをcargo cult programmingと言います。
何事につけ、学習は他人のまねからはじまります。それは自然なことですが、いつまでも初期段階にとどまっていては進歩がありません。学習を次の段階に進めるためには、学習対象の本質は何かを、つきつめてゆく必要があります。プログラミングの本質とは論理の組み立てでしょう。また、実際に論理を組み立ててプログラミングするときには、最低限、言語仕様や使える部品(ライブラリなど)の仕様を理解することが必要です。できれば、なぜ仕様がそうなっているのかまで考えると、仕様を決定した人物・組織が、その機能を実装するのに念頭に置いた方法が想像できるようになります。それは、仕様をより深く理解するのに役立つし、仕様が記憶に残りやすくもなります。
私は本学でプログラミングも教えていますが、毎年必ず不可とせざるを得ない学生がでます。そういった学生は、cargo cult programming をしていると感じます。
Cargo cult programming から抜け出るには、1に良く考えること、2に良く調べることが必要です。どちらも習慣のようなもので、若い方が身につけやすいと感じます。もし、これを読んでいるあなたが、「なぜそうなるのか?」という疑問が浮かび上がってきたときに、「面倒だ」と深く考えずに流してしまっているならば、是非今日から、もう一歩考えたり、調べたりしてみてください。
特に調べる方は、今日の検索技術をもってすれば、極めて容易です。
手始めに、cargo cult を調べてみては?
S.Y
2010年12月15日 (水)