こんにちは!好奇心おばけのかわそん (@KKohey4)です!
本記事の内容
- プログラミングで暗記は不要
- 最重要は「逆引き力」
僕は、個人でweb作成、サービス開発を受けている大学生です。
また、年間50人以上の初心者にプログラミングを教えています。
その中で、「なかなか伸びないなあ」って思う生徒さんに限って、的外れな勉強をしているんですよね。
今回は、その1つ。
『暗記』について、紹介します。
3分だけ、お付き合いを(`・ω・´)ゞ
目次
[初心者向け]プログラミング学習で暗記は不要[今すぐ脱出セヨ]
プログラミング学習では『暗記は不要』です。
初心者で、しかも、真面目な人ほどやりがちなのですが、まじで不毛。
理由はシンプルでして、ググれば出てくるからですね。
Google先生に聞けば、ほとんど解決します。
ちょっとわかりにくいかもなので、日本語の例をあげてみます。
覚えるべきことが多すぎる
例えば、「無心」という言葉の意味、知っていますかね?
その通り!
だけど、不十分。
意味は下記の通り。
、、、8つくらいありますね。
これをいちいち覚えてますか?
しかも、もちろん、多義語はもっともっとありますし。
たぶん、覚えてないはず。
じゃあ、どうしているか。
たぶん、出会うたびに、辞書を引いていたのではないでしょうか?
少なくとも高校までは。
プログラミングでも同じです。
意味もないし、不可能。
まずは、このマインドを持ちましょう。
特に、新しいことに挑戦する時には。(`・ω・´)ゞ
✔️参考
『素直な人が結果を出す』たった2つの簡単な理由←捻くれてた昔の自分へ
やりがちな失敗
さっき、
というお話をしました。
ここで、ちょっと、どういうアプローチが暗記になるのか、共有しておこうと思います。
下記の通り。
・ソースコードを紙に書く
上記の通り。
、、、すみません。白状しますが、完全に昔の僕がやっていたことです。
高校までの学習習慣が、抜けていませんでした。
いろんな色のペンを使って、パラメータの動きをまとめたノートを作ったり、ソースコードを紙に書いて、自分が納得いくまで読み返したり。。。
まじで、手を動かしつつ、「勉強」していましたね。
✔️暗記しようとした結果、どうなったか
「勉強した」っていう、自己満足と、手が疲れただけですね。
ついた力は、ほとんどありませんでした。
というのは、ここでやってることって、全部「ググればわかるもの」ですので。
例えば、rubyのwhereというメソッドの意味をノートにまとめます。
時間はだいたい、、、10分くらいですかね。
コード例も書くかどうかで変わってきますが。
一方で、「ruby where」とググってみます。
なんと、、、0.38秒で、3億件ヒットします。
自作のノートよりもたくさんの情報が、1秒もかからず、手に入ります。
実際にコード書く時、調べながらの方が効率いいことに納得できるでしょうか?
ちなみに、「写経」することには、効果があります。
こちらをどうぞ。
[結論]写経でもプログラミングの力はつきます[ただし注意アリ]
プログラミングでは「逆引き力」が大切です。
ここまで読んで、
Googleは、たぶん、なくならないし。」
と思うかもですが、ちょっと違います。
これが正しいです。
つまり、どうググるかという方法については、知っておく必要があるんですよね。
、、、当たり前のことを言っているようですが、スーパー重要です。
ステップがありまして、説明します。
ググり方には2ステップあります。
ググり方のステップは、下記です。
- 「〇〇できる」ということを記憶
- 「〇〇って打てば出てくる」という経験
上記の通り。
暗記せずに、ネットの情報を武器にするための方法です。
当たり前ですが、『正しい調べ方』がわからないと、空振りします。
必要な情報にたどり着けませんので。
それぞれ、サクッと説明しますね。(`・ω・´)ゞ
①「〇〇できる」っていうことを記憶する
これは、例を出した方が早いですね。
rubyには、deleteというメソッドがあり、何かのコードを読んでいた時に、これを見つけたとしましょう。
絶対ダメなのは、
めもめも。」
です。
ここまで読んで頂いた方なら、イメージつきますよね。
悪くはないけど、良くもないのは、
上記です。
『delete』っていうメソッド名を、頭に入れている状態ですね。
ベストはこちら。
これで十分。
重要なのは、
○外身を覚える
この意識です。
これを頭におきつつ、次の「ググり方」をご覧ください。
②「〇〇って打てば出てくる」という経験
結論からいうと、
「言語+目的+手段(できれば)」
上記です。
これで、目的の情報にたどりつきます。
さっきのdeleteを例にしてみましょう。
今、頭の中は
こんな状態。
では、googleで
「ruby 削除 メソッド」と調べてみましょう。
目的→削除
手段→メソッド
こんな対応です。
結果は、下図です。
上位3ページに
これがヒットしていますね。
delete、見つかりました。
しかも、他のメソッドの存在も、知ることができましたね。
一石三鳥です。(`・ω・´)ゞ
プロのエンジニアも、ググりつつコードを書いています。
下記のツイートをご覧ください。
エンジニアの感覚から言うと、医者が医学書読みながら手術しないのむっちゃすごい。
— aoking (@a_o_k_i_n_g) 2019年4月10日
、、吹きました。笑
確かにすぎます。
僕が過去に受講したスクール、TechAcademyでも、こんなやりとりをしました。
プロのエンジニアでも、ドキュメントとか、リファレンスを開きながら仕事をするものです。
この辺りに興味がある方は、TechAcademyの無料体験を受けてみるといいかなと。
エンジニアのリアルな話が、無料で聴けますので。
「調べる」ということに抵抗なくなってきましたかね?
最後に:効率よく、プログラミング学習しましょう
記事のポイントは下記です。
- プログラミングで暗記は不要
- ノートとか、紙に書く必要はない
- 「逆引き力」が必要です
- 記憶する部分+情報を掴む経験
- プロのエンジニアも、ググります
上記の通り。
ぶっちゃけ、プログラミングはコスパいいスキルです。
それをコスパ悪く勉強していたら、、、
なんか元も子もないですよね。
『正しい勉強』をして、サクッとスキルをつけちゃいましょう(`・ω・´)ゞ
では、以上です。
この記事が、少しでも「暗記」から脱出する助けになれば、嬉しいです。
✔️参考記事
」