明日から社内にてプログラミングの入門講座を始める。そのための資料を探したり、スライドを作ったりしているのだけど、これが難しい。いや、ある本にめぐり合って簡単になったところもあるのだけど、やっぱり難しい。そこでプログラマーにとっての入門とは何かという点について考えて見た。
多くのプログラミング入門書、たとえばマイクロソフトプレスのステップバイステップシリーズを見ると、IDEのハードコピーが大きく描かれ、IDEやデーターアクセスコンポーネント、言語文法について丁寧に書かれていて、解りやすそうに思う。
ではこの本を読んで、プログラミングによって当人やユーザーが持つ問題を解決するためのプログラムを作れるかというと、これについては無理だろうなと思う。
無理だと思うのは、このような入門書が説明しているのはプログラミングについてではなく、IDEの使い方や言語文法の使い方であるからだ。ここにはある意味読み手側の期待とその本の内容にギャップがあって、このギャップがプログラミングを始めようとしている人たちにプログラムがうまく作れないという挫折感を味あわせている。
読み手に(僕の場合には受講者に)挫折感を味あわせないために必要なのは、プログラミングが何であるかを、説明することだと思う。プログラミングを始めようとしている人たちは、プログラミングという作業が何であるかを理解していないので、IDEの説明をしてもそれをどこで使ったらいいのかちゃんとイメージできていない。あるいはプログラミングとはコードを書いたり、GUIのデザインをする事だけだと勘違いをしてしまい、重要なその前のプロセスに気づく事ができないので、結局プログラムの目的を果たすことができないものを作ってしまったりするのだ。したがって、IDE解説書ではなくプログラミングの入門書を謳うのであれば、書き手は読み手にプログラミングのプロセスを説明し、理解させなくてはならない。
つまり、プログラマーにとっての入門とはプログラミングのプロセス(手順)を理解する事に他ならない。
プログラムが果たすべき目的に合わせ、現実のモノ・コトを抽象化して ...