
プログラミング学習をしていると覚えることが多すぎて思ったように進めません・・・
プログラマーってこんなにたくさんのことを覚えているんでしょうか・・・
そんな疑問にお答えします!
実はプログラミングにおいて暗記は必要ありません。
というよりも、「暗記しよう」という意識で学習するのは非効率ですらあります。
100人以上のプログラミング学習を見てきましたが、暗記に時間をかけていて努力の割になかなか成長できない方が多くいらっしゃいました。
そういった方も、意識をちょっと変えたことをきっかけに急成長できていました。
本記事を読めばプログラミング学習で暗記は必要ないことが分かり、効率よく進められるようになります。
暗記が必要ない理由
プログラミングにおいて暗記は必要ありません。
その理由は3つあります。
- 覚えることが多すぎる
- プログラミングはテストじゃない!カンニングオーケー!!
- 現役エンジニアも暗記はしていない
順に解説していきます。
覚えることが多すぎる
プログラムを書くのに必要な情報はとてもたくさんあります。
無限に感じるくらいです。
例えば、プログラミング言語 Ruby で書くとしても、標準で用意されているクラスだけでも覚えきれないほどありますし、それぞれに用意されているメソッドはその数倍以上あります。
とても覚えていられません。
多すぎてほぼ不可能と考えたほうがよいでしょう。
プログラミングはテストじゃない!カンニングオーケー!!
プログラミング「学習」と聞くと、学生時代の勉強のイメージで取り組まれる方が多いようです。
学生の勉強は「テスト」があるので暗記をしていないと解けない問題があります。
しかし、プログラミングはテストではありません。
いくらでもカンニングしていいんです。
ググればわかる情報を暗記するのは非効率です。
現役エンジニアも暗記はしていない
実際のエンジニアはどうなのかというと、調べれば分かる情報は意識して覚えようとはしていません。
プログラミングするときも頻繁にググりながら書いています。
エンジニアは性格として非効率なことを嫌うので、覚える必要のないことを覚えるという労力は無駄と考えます。
いままで様々なエンジニアと働いてきましたが、優秀なエンジニアほど必要に応じてググったり、ドキュメントを参照したりしていました。
暗記しようとすることの弊害
暗記は必要ない、と説明しましたが、むしろ学習を阻害する要因にもなりえます。
以下が理由です。
- 応用力が鍛えられない
- 無駄なノートをつくりがち
- 時間がかかるわりに成長しづらい
- あまり使わない知識の暗記に時間がかかりコスパが悪い
それぞれ深堀りしていきます。
応用力が鍛えられない
暗記できてしまうと、その暗記したものだけはなんとなくできてしまいます。
しかし、できることはそれだけです。
プログラミング学習で大切なのは「暗記」することではなく「理解」することです。
ベースの知識を理解することで、それぞれの状況に応用できるようになります。
暗記だけして理解できていないと、目の前の状況にだけ対処する力がつくだけで別の似たような状況に対処することができなくなってしまいます。
無駄なノートをつくりがち
暗記しよう、暗記しよう、とひたすら考えている方の特徴として「きれいにノートにまとめる」というものがあります。
そのノートはあとから見返すことは少ないです。
見返さないものを時間をかけて作るのは時間がもったいないです。
ノートにまとめるのが「楽しい」という場合はそれでもオーケーです👍
しかし暗記するためにノートにまとめているのであれば一度それが本当に必要か考えてみましょう。
プログラミング学習においてのノートの使い方については以下の記事も参考にしてください。
≫ プログラミング学習では「わからないこと」をメモしよう【高効率の勉強法】
時間がかかるわりに成長しづらい
プログラミング学習で大切なのは「どれだけ覚えているか」ではなく「どれだけ理解できているか」です。
どれだけ暗記しても、覚えたことはググってしまえば不要となります。
「暗記するのがとても得意!」という方を除くと、覚えるのはとても時間がかかります。
しかし、ベースの知識を理解できていなければまったく応用できません。
応用できなければプログラミングができているとは言えません。
「暗記」するために多くの時間を使うよりも、「理解」するために時間を使ったほうが成長にとってコスパがいいといえます。
あまり使わない知識の暗記に時間がかかりコスパが悪い
プログラミングの知識には頻繁に使うものもあれば、たまにしか使わないというものもあります。
暗記に集中しすぎるとほとんど使わないような知識にも等しく時間を使いがちです。
しかもたまにしか使わないという知識も無限にあって、いくら時間をかけても終わりません。
それよりももっと概要レベルを深く理解して、それを細かいところに応用できるようになったほうが断然コスパがいいです。
暗記ではなく理解するための心構え
プログラミング学習を効率よく行うには「暗記」ではなく「理解」であることを解説してきました。
それではどのように学習していけばいいのでしょうか。
それには
- 概念の理解を優先する
- 手を動かしてコードを書く
- 書いたコードで理解が正しいかを確認する
という手順で学習していくと効率的です。
まずは個別の事項ではなく概念を理解することです。
「暗記」しようとしていたら待ったをかけましょう。
ただし、理解したことが正しいかは自信が持てないはずです。
そこで、「こういう理解をしたから、つまりこう書けばこう動くはずだ」と推論してコードを書きましょう。
書いたコードが
→ 思ったとおりに動けば理解が正しい可能性が高いですし、
→ 思ったとおりに動かなければ理解が間違っていたことに気づけます。
思った通りに動いてもまだ理解が足りない可能性があるので、いろんな角度からコードを書いて理解を深めることも大切です。
プログラミングはスポーツに似たところがあるので、ひたすら手を動かして体で理解していくくらいの認識で丁度いいです。
まとめ
プログラミングにおいて「暗記」はとてもコスパが悪い学習法です。
まとめると
- 「暗記」は不要。そして時には弊害もある。
- 概念の理解を優先したほうが応用できる
- 「暗記」よりも「理解」したければたくさんコードを書いて動作確認しよう!
こういった考え方は、非効率なことを嫌う「エンジニア」の考え方に通じるところがあります。
こういった考え方はエンジニアに直接聞いてみるといいです。
身近にエンジニアがいればどうやって学習したか聞いてみましょう。
まわりにエンジニアがいなければ以下のサイトで探すこともできます。
また、現役エンジニアがメンターとしてつくプログラミングスクールを検討するのも手です。
>> プログラミングスクールのメリット・デメリットについて書きました!
同じ時間をかけるなら、効率的で応用力が身につく学習をしていきましょう!