繰り返しこそ、プログラミング上達の方法

 MITのスクラッチ開発チームを率いるミッチェル・レズニック博士の「プログラミングを学ぶ人たちへの10のヒント」をチェックしてみましょう。じつは、プログラミングにかぎらず、君たちのあらゆる学習に共通するヒントでもあるのです。
 まず一つ目。まさしく、最初が肝心です。
★かんたんなことから始める。(Start Simple)
 初心者は、しばしば、大きな、複雑なスクリプトをつくり始めてしまう傾向があります。
 学習計画もおなじですが、大きな計画になればなるほど、途中で挫折してしまう危険が大きくなりますね。レズニック博士は、基本的なことをきちんとやらないで、計画(プロジェクト)ばかりが大きくなることを警告しています。
「ぼくなら、いつも、かんたんなスクリプトで始める。ぼくが望むとおりの動きをするかどうかを確かめて、徐々に動きを追加していく。自分にとって初めてのやりかたなら、かならずテストするし、修正していく。ぼくのワークショップでは、みんなにもそう勧めているよ。かんたんなことから始めるんだ。やってみて、拡張して、改良するんだ。スクラッチのプロジェクトだけでなく、あらゆるプロジェクトがおなじだよ」
 このアドバイスは、初心者だけでなく、あるていど長くやっている人にも有効です。
 プログラミングの進歩が速い人と遅い人のちがいは、(ずいぶん経ってからわかることですが)最初のころ、基礎をきちんと身につけたかどうかのちがいです。かんたんだと判断して、練習(くりかえし)をスキップしてしまうと、あとからその影響が出てきます。「あれ、おかしいな」と思って、以前やったことを振り返って調べる人と、「ここは何度も練習したところだから、だいじょうぶだ」と自信をもって先に進める人のちがいになるのです。
 どの教科、どの学習でも、おなじことがいえますね。
 たとえば、小学生の各学年の配当漢字をその学年でしっかりと身につけてきた小学生なら、学年をさかのぼって復習する手間はかかりませんが、どこかの学年で配当漢字を習得し損ねていますと、上の学年になってから、下の学年の漢字を学び直す手間がかかります。
 プログラミングも同様で、最初のころに身につけるべき知識を習得しておかないと、ずいぶん経験を重ねたにもかかわらず、「あれ、うまく動かないぞ」とあわてて最初のころにさかのぼって学び直すことになります。
 まず基礎を徹底的に身につけていれば、進歩が遅いように見えても、しばらくすると、どんどん上達していくようになります。逆に、基礎をさぼってしまいますと、進歩が速いように見えても、しばらくすると、つまずきが多くなって、だんだん遅くなってしまうかもしれません。
 ですから、最初のころほど、あわてないで、ていねいに学ぶべきなのです。
 ていねいというのは、正確に表現しますと、「なんどもくりかえして、しっかりと身につける」ということです。英語のことわざに、「練習は完ぺきをつくる」(Practice makes perfect)とあるように、「練習(くりかえし)」こそ、学習の要です。
 大人になると、「くりかえすこと」が苦手になりますので、大人は新しい学習が苦手なのです。
 君たちは小学生ですから、「くりかえすこと」ができるはずです。くりかえしをいやがると、プログラミングにかぎらず、どんな学習も得意になれませんよ。
 たのしく、くりかえしプログラミングしましょう。

山手学院 学院長 筒井 保明