プログラミングの能力が上達せずに悩んでいませんか?
初心者のうちは本や動画を見ても
全然プログラミングが上達している気がしない、
いざ自分でコードを書こうとすると何もできない、
こんなことは少なくないと思います。
そこで今回は、どんな本やスクールの勉強でも活かせるプログラミング勉強の考え方として、
- 初心者が陥りがちなプログラミングの勉強に関する勘違い
- 初心者がする誤ったプログラミング勉強方法
をご紹介します。
プログラミングの勉強に苦戦している初心者の方は、ぜひ参考にしてみてください。
目次
初心者が陥りがちなプログラミングの勉強に関する勘違い
プログラミングを全部覚える勉強だと思っている
プログラミングと聞くと、
「なんか数字と英語ばかりで勉強みたい」
「計算とか必要だし理系じゃないとできなさそう」
こんなふうに考える未経験の方も多いかと思います。
しかしそれは大きな勘違いです。
実際のプログラミングは勉強ではなくスポーツに近いです。
あなたは普段自転車に乗るときに、
「右足のペダルを踏んで、次に左足のペダルを踏んで、その間はバランスを取りながら…」
などと考えて乗っていますか?
こんなこと考えながら乗っていたら疲れてしまって、とても移動に自転車なんて乗れないですよね。
でも初めて自転車乗ろうとしたときはどうだったでしょうか?
転びながら、必死に考えながら乗ったはずです。
プログラミングもこれと同じです。
最初のうちは、必死に頭を使いながら、何度もエラーを出しながら書く必要があります。
そうしていくうちに身体がだんだん覚えてきます。
ひたすら書くことによって、ほとんど頭を使わず自然と書ける場所が増えて、どんどんプログラミングをするスピードが早くなってきます。
自転車でいうと転ぶことが無くなり、余裕が出てきてスピードを出す漕ぎ方が分かってきます。
プログラミングをひたすらすることによって、身体が覚えていき、エラーも減るしプログラミングも速くなってくるのです。
初心者がする誤ったプログラミング勉強方法
本を読む、動画を見るだけで分かった気になる
あなたが野球をうまくなりたいとき、ひたすらプロ野球の動画を見て、一切練習しないなどあり得ますか?
バッティングの本をひたすら読んで、一切素振りをしないなどあり得ますか?
先程伝えたとおり、プログラミングは勉強ではなくスポーツです。
スポーツと同じように必ず手を動かさなければ上達しません。
動画や本、スクール、どんな勉強方法でも新しいことを覚えたら、必ず自分の手を動かしましょう。
何も考えず、ただコードを写す
スポーツが上達しない人はうまい人のプレイを単にぼーっと見ています。
上達する人は、必ずうまい人がどういう動きをしているのか、その結果がどんなプレイにつながるかを意識して見ています。
野球でいうと腰の使い方や重心のかけ方で、バットの振り方がどう変わって、結果ボールがどう飛ぶかを常に意識して見ています。
プログラミングも同じで正しいコードをただぼーっと写していても全然上達しません。
「なぜこういうふうに書くのだろう?」「ここのコードの記述によって、この処理が行われることになるのか」と意識することで、同じ本や教材で勉強していても、倍以上に上達していきます。
いろいろと自分で試さない
スポーツが上達する人は練習のときにいつも新しいことを試しています。
「さっき少し重心を後ろ気味にしたらうまくいったから、次はもっと重心を後ろにしてみよう」
このようにいろいろと試すことで「重心をこれくらい後ろにするとうまくプレイできるのか」と理解でき、いつも同じプレイができるようになります。
上達しない人はたまたま重心が後ろ気味にいったときにプレイがうまくいったとしても、なぜうまくいったか分からないのでいつも同じプレイはできません。
プログラミングも全くいっしょです。
上達する人は「ここの値を変えるとどうなるのだろう?」などと常に試しています。
「ここの値はこの処理に影響していそうだ」「この処理に影響するから結果うまく表示されるのか」と理解ができ、結果としてどんな状況でも対応できるようになってきます。
いろいろ試さない人はいつまでも本やスクールで習った内容しか書けません。
毎日コードを書かない
甲子園の優勝を目指す人が毎日練習しないなどあり得ますか?
甲子園優勝までは目指さなくても学生時代に運動部に入っていた人は、ほぼ毎日練習していたはずです。そうすることで一年後には新入生よりは確実にうまくなっていたはずです。
プログラミングはスポーツです。
毎日練習することで確実にうまくなります。
実際のサービスレベルを想定したアウトプットをしない
サッカーやバスケットボールの練習では3対3に分かれてボールを奪い合う練習があります。
空手や柔道の練習では決まった手順にしたがって技をかける組手があります。
それらの練習が行われる理由は、実際の試合の多くの状況で使える型が詰まっているからです。
ただしそれはあくまで基本的な型であって、必ずしもどんな状況でも使えるものではありません。
そのため試合前には必ず実践を想定した紅白戦や練習試合をするはずです。
そうすると練習では出なかったような状況にぶつかり、それを経験することで大きくスキルが伸びていきます。
プログラミングにおける本や動画、スクールで習うコードはこれと同じです。
多くの状況で使える基本的な型となるコードの書き方を教えています。
ただしそれはあくまで基本的な型であって、必ずしもどんな状況でも使えるものではありません。
そのためスポーツでいう紅白戦や練習試合に当たる「実際のサービスレベルを想定したアウトプット」を行う必要があります。
アウトプットをする中では習ったとおりのコードでは動かない場面に必ず出会い、エラーの解決に苦労することでしょう。
しかしこれが本当のプログラミング能力の向上に繋がります。
まとめ
以上、どんな本やスクールの勉強でも活かせるプログラミング勉強の考え方として、
- 初心者が陥りがちなプログラミングの勉強に関する勘違い
- 初心者がする誤ったプログラミング勉強方法
をご紹介しました。
プログラミングの勉強に苦戦している初心者の方は、ぜひ参考にしてみてください。