プログラミングの勉強法、習得方法については、日夜「我こそは正義」という人たちが激論を交わしている。
それらはすべてが「正しい」。
10円玉を、細いとも、丸いとも、薄いとも、茶色とも言えるように。
技術書籍を買い、そのサンプルコードを実際に書いて実行してみる。作りたいサービスを決めて、必要な技術を学ぶ。どれも立派な勉強法だ。
たしかに、サンプルコードを実行して、挙動を確かめるのは素晴らしい。プログラミングは機械への命令であり、機械の動きをみることは基本だ。
しかし、「サンプルを実際に書いて動かしてみたらいいよ」というアドバイスは、たんに「10円玉は丸い」と言っているほど普通なことだ。
私が言うこの記事の勉強法は、「10円玉の貨幣的価値は1円玉10枚分と等価だ」と言っているに過ぎない。10円玉を見て丸いと言うことは簡単だが、10円玉を見て1円玉を思うことが、人の想像力ではなかろうか。
プログラミングの習得、という謎
プログラミングにおいて忘れてはいけないことがある。プログラミングとはプログラミング言語を書くということだ。言語なのだ。
あなたは、日本語が書けるようになった過程を覚えているだろうか。言語習得とは、どれが決定的要因になっているのか特定することは難しい。プログラミングにおいても、同じである。
本のおかげもあるだろう、人に教えてもらったおかげもあるだろう、サービスを作りながら覚えたおかげもあるだろう。
つまり、プログラミングの勉強には「これだけをすればいい」というものはない。
なんだかよくわからないけど、知らないうちにできるようになっていった、というのが多くのプログラマーの本音だろう。
確かな答えはない。これが結論だ。
読むプログラミングのススメ
当記事では、プログラミングの勉強において、技術書を読んで学ぶということに焦点を当ててみる。
買った本は何回も読むつもりで買おう
ネットで学ぶだけではなく、わざわざ書籍を買うわけだから、その本はあなたにとって何回も読む価値がある本のはずだ。
逆にそうでなければ、変化の多いテクノロジーの世界で情報が古くなりやすい本を買う必要はない。
読書するようにプログラミングの本を読む
声を大にして言いたいのは、
「パソコンを用意しないと技術書が読めないなんて、肩肘を張る必要はない!」
ということだ。
本に書いてあるサンプルコードを動かしてみる勉強法の効果を否定するつもりはない。ぜひ動かしてみるべきだ。
しかし、実際にコードを書かないと勉強にならないかのように思うことは間違いだ。
まず、勉強したいときにいつでもパソコンがあるとは限らない。パソコンがなければプログラミングを勉強したくない、とすら思うようになってしまう。そうならないために「読む」プログラミング勉強法を提案したいのだ。パソコンを持っていなくてもカフェでただプログラミングの本を読めばいいし、電車でだって読めばいい。「電車の中ではパソコン開けないから勉強できない」なんて思わなくていい。
何度でも言うが、あなたが買ったプログラミングの本は、何度でも読む価値がある。書籍は何回も読むつもりで。そうすれば読むだけもありに思えてくるだろう。
もしたとえ、本を一通りパソコンで実行して勉強したとしても、覚えていない。必要な本なら、忘れた時にどうせ何回も帰ってくる。それならば、読書するだけで内容を把握するのは、とても大切なことのように思えないだろうか。
小説や実用書といった読み物を読むように、プログラミングの本を読めばいいのだ。「へー、こんな風に書いたらこんな実行結果が出るんだね〜」で構わない。1冊を読み終わるスピードが段違いに上がるだろう。実は、プログラミングの本はいちいち書いて実行してるとなかなか読み終わらないのである。
ただ読むだけなら、小説を読むよりはるかに早い。すぐに読めるということは、多読ができる。いろんな技術書をコーディングすることなく読破しよう。そうすれば自分の頭の中に目次ができて、詰まった時に「あの本の中に確か方法書いてあったよな」と思い出せる。