[Sy] プログラミングはどうやって勉強したら良いの?
プログラマー初級者・これから目指したと思ってる人を応援するオンラインプログラミング塾 Sy-mentor(エスワイメンター) の公開記事です。今回はプログラミングはどうやって勉強したらよいか?ということについて書いてみます。
「プログラミングってどうやって勉強したら良いですか?」
この質問はよくきかれます。
ぼくの場合、その人の 目的 と 性格 を考えて薦める勉強方法を変えています。
目的と性格は、以下の点を確認します。
- 目的: 具体的に作りたいモノがあるか?
- 性格: 完璧に理解しないと気がすまない性格か?
この2つの組み合わせによって次のように薦めます。
1. 作りたいものがある x 完璧に理解しなくてもよい
この組み合わせの人に向いている勉強方法は、これです。
とにかく作りたいものを完成させることを目指して、その時その時に必要な知識を「理解してなくてもよいから」調べてプログラムを書いていく
典型的な、 作りながら覚えていく という方法をおすすめします。
プログラミングは本気で理解しようとすると 全くと言ってよいほどモノを作るということが進まなくなります。
完璧に理解しようと調べれば調べるほど、深みにハマっていきます。
まずは作って、足りないと思った知識は後から補充すれば良いです。
教材としては、
何かを作りながら進んでいくタイプの本 +ネット上の記事
が良いと思います。
2. 作りたいものは特にない x 完璧に理解したい
この組み合わせの人に向いている勉強方法は、
とにかくその時の気持ちを最優先させて、「おもしろそう」「もっと知りたい」と思ったことをやればいい
です。
作りたいものがないのに勉強したいと思うということは、 プログラムというもの自体に興味がある ということになります。
好きな時に、好きな言語などを、とことん勉強すれば良いです。
ちなみにぼくは基本的にこのタイプですね。
このタイプに向いている教材は、
文法などの説明が細かく書いてある本
です。
3. 作りたいものがある x 完璧に理解したい
このタイプは少々やっかいです。やりたいことと性格がケンカしてます。
基本的には、1と2のどちらかの方法に寄せることになります。 目的と性格のどちらに合わせるか ということです。
締め切りなどがあり、とにかく作ることを優先する必要があるのであれば、ある程度「完璧に理解したい」という気持ちを抑えて、作りながら勉強していくようにしたほうが良いでしょう。
逆にゆっくり作って構わないということであれば、文法をゆっくり学びながらちょっとずつ作っていくと良いでしょう。
自分の状況に合わせて、1と2の勉強法のバランスを決めてみてください。
4. 作りたいものは特にない x 完璧に理解しなくてもよい
このタイプは一番気楽に勉強できるでしょう。
おすすめとしては、 ざっくりと全体を把握できる軽めの入門本 を1冊読みながら軽く手を動かしてみると良いと思います。
すべてのパターンに共通しておすすめしたいこと
最後に、どんな場合であっても初心者のうちにおすすめしたいポイントを2つ挙げておきます。
- なるべく「同じ人の説明」で学ぶ
- 中級・上級者のプログラミングを見て学ぶ
同じ人の説明で学ぶというのは、ネットで調べたりして色んな人の説明を見て勉強していると、 言ってることが違う ということや、 嘘が書いてある ということが多々あるので、特に初心者のうちは混乱しやすいです。
ネットを見て勉強すること自体はとても便利なので活用してほしいのですが、最初はなるべく 本を1冊通して勉強する ようにしてみてください。(もしくは、同じサイト内の記事を読んで学ぶでも良いです)
中級・上級者を見て学ぶというのは、実際に目の前でプログラムを書いている様子を見ていると 本などでは得られない「何を考えているのか」「どういう工夫をしているのか」といったノウハウを学ぶことができます。
スポーツなどでもそうですが、上手い人から盗むということができるので、ものすごく成長を加速してくれます。