見出し画像

プログラミングは暗記するな〜調べる力とアウトプット力を高めよう〜

プログラミングを暗記しようとしていませんか?

「Progateを周回して基礎を暗記中」
「何も見ないでできるようになるまで勉強」
という人をたまに見かけますが、努力の方向が間違っています。

https://twitter.com/miyabikno/status/1144903145908293633

上記ツイートでも述べましたがプログラミングに暗記は不要です。
ざっと基礎を読んだら次に進みましょう。

今回は、暗記が不要な理由について説明します。

プログラミングが暗記不要な3つの理由

プログラミングが暗記が不要な理由は以下の3つです。


・仕事中は頭の中から記憶を引っ張り出す必要はない
・プログラミングの知識の賞味期限は割とすぐ切れる
・実践することで見えてくるものの方が多い順番に説明します。

仕事中は頭の中から記憶を引っ張り出す必要はない
勉強と違って仕事中はカンニングし放題です。
資料や参考書・メモ・ネットなんでも使ってOK。

必要な情報は都度ググったりノートから引っ張り出せれば問題ありません。

プログラミングはかなり広い分野なので記憶ですし、仕事で使う資料は膨大です。いちいち暗記していたら時間がいくらあっても足りません。
思い出すのにも意外に時間がかかりますし、人間の記憶は曖昧なので思い出した記憶が間違って記憶している場合も多くあります。

そして残念ながら年を取るにつれて脳の処理速度は落ちるので記憶力に頼るのは難しくなっていきます。

かつての私も記憶力に頼ってプログラミングや仕事をしていました。20代前半ではなんとかなりましたが、20代後半以降から記憶力に頼ると作業漏れや単純ミスなどが多かったです。

記憶力に頼るのではなく紙やPCにアウトプットした方が良いでしょう。

プログラミングの知識の賞味期限は割とすぐ切れる
プログラミングは技術の進化が特に早い分野です。
2、3年でも結構変わりますし、5年経てばかなり変わります。

頑張って覚えたはいいけどすぐに使えなくなることも少なくはありません。

もちろん普遍的な部分はありますが、そこについても繰り返しプログラミングをやって行けばそのうち嫌でも覚えられます。

知識を頭に詰め込んでいくというよりは実践しながら自然に覚えていく方が良いでしょう。

実践することで見えてくるものの方が多い
プログラミングはものを動かす技術です。プログラミングは勉強するだけでは全貌が見えません。
実践して始めて見えるものが数多くあります。

例えば
・プログラミング以外にどんな知識が必要なのか?
・プログラミングの環境のセットアップ方法
・エラーが出た時の対処方法

などですね。
これらのプログラミングの基礎勉強をしているだけでは見えてきません。ネットなどで情報を得ることはできますが、実際に動かさないと

「どういった場面でどんな知識が必要なのか」

という点は理解が難しいと思います。
勉強だけでなく、いろいろなプログラムを実際に作り動かしてノウハウを蓄積していくことが大事です。ノウハウも暗記ではなくしっかりとノートやPCにアウトプットしておきましょう。

プログラミングにおいて暗記よりも大事なこと

暗記より大事なことは以下の点です。

・目的を達成する方法を調べる力
・アウトプット力

目的を達成する方法を調べる力
プログラミングを実践していると様々な疑問が浮かぶと思います。

例えば、
「プログラミングで〇〇という機能を作りたいんだけど、具体的にどう実装すればいいんだろう?」
「〇〇というエラーがおきたけどどう対処したらいいんだろう?」
などですね。

上記は闇雲に参考書や学習サイトの基礎を見返したところで解決する可能性は低いと思います。

何を見れば解決するか考えることが大事です。

「ネットで〇〇で検索すると良さそうだ」
「参考書の〇〇という内容が参考になりそう」
「ドキュメントの関連機能を読んで見よう」
などあたりをつけて調べるようにしましょう。

「調べるのなんてネットで検索するだけだから簡単じゃないか」

と思うかもしれませんが意外と難しいです。

ネットで調べることだけを取っても
「どう検索したらいいかわからない」
「英語の記事ばっかりだ」
「検索したけど欲しい情報が見つからない」

などなど割と壁にぶち当たります。
ドキュメントや参考書にしても全ての情報を網羅している訳ではありません。隅から隅まで読んでも全然答えがないというのもあり得ます。

何時間も探したのに答えが見つからない場合もありますし、そもそもマニアック過ぎてどこにも答えがない場合もあります。諦めて見切りをつけるのも大事です。

・何を使って調べるか
・どこで見切りをつけるのか

というところは一朝一夕では身につきません。
実践を繰り返す中で試行錯誤しながら自分なりのノウハウを築き上げていきましょう。

アウトプット力
勉強したり何かを調べたりするのは大事ですが、勉強・実践したことをアウトプットしないといずれ忘れてしまいます。
せっかく時間をかけて勉強したり調べたりしたのに、また同じことを勉強したり調べたりするのは二度手間ですよね?

・エラーの対処方法
・プログラミングの実践手順
などは残しておくと後々未来の自分や他の人が同じ作業をする時に役立ちます。

また、以下のようなものを書き出すことも有効です。

・ミスしたところ
・間違えたところ
・時間がかかったところ

上記のようなメモからミスや問題のおきそうな点の傾向を見つけ出して今後の改善に役立てましょう。

まとめ:暗記をやめてアウトプットしよう

プログラミングを暗記しようとしている人は多くいると思いますが今すぐ暗記はやめましょう。
暗記しても実際にプログラムを作る時にさして役には立ちません。

暗記よりも大事なことは調べる力とアウトプット力です。
直面した問題が解決する方法をググったり参考書や資料を読み、根気よく探す力が重要。
また、実践した結果や調べた時の過程はアウトプットして次回以降の実践に役立てましょう。

ブログ「みやびのどっとぴーわい」ではPythonを始めとしたプログラミングの勉強の仕方や実践方法を紹介しています。興味のある方は覗いてみてください。


この記事が気に入ったらサポートをしてみませんか?