[初心者向け]プログラミング学習で暗記は不要[今すぐ脱出セヨ]

こんにちは!好奇心おばけのかわそん (@KKohey4)です!

プログラミング初心者
「プログラミングを始めました。でも、文法やメソッドとか、覚えることが多くて、困っています。いや、そもそも、覚えるべきことなのか。。。普段、コードを書いている人が、どれくらい記憶しているものなのか、話を聞いてみたいです。

このような意見に答えます。

本記事の内容

  • プログラミングで暗記は不要
  • 最重要は「逆引き力」

僕は、個人でweb作成、サービス開発を受けている大学生です。

また、年間50人以上の初心者にプログラミングを教えています。

その中で、「なかなか伸びないなあ」って思う生徒さんに限って、的外れな勉強をしているんですよね。

今回は、その1つ。
『暗記』について、紹介します。

3分だけ、お付き合いを(`・ω・´)ゞ

[初心者向け]プログラミング学習で暗記は不要[今すぐ脱出セヨ]


プログラミング学習では『暗記は不要』です。

初心者で、しかも、真面目な人ほどやりがちなのですが、まじで不毛。

理由はシンプルでして、ググれば出てくるからですね。

Google先生に聞けば、ほとんど解決します。

ちょっとわかりにくいかもなので、日本語の例をあげてみます。

覚えるべきことが多すぎる

例えば、「無心」という言葉の意味、知っていますかね?

「無邪気みたいなこと!」

その通り!
だけど、不十分。

意味は下記の通り。

、、、8つくらいありますね。

これをいちいち覚えてますか?
しかも、もちろん、多義語はもっともっとありますし。

たぶん、覚えてないはず。
じゃあ、どうしているか。

たぶん、出会うたびに、辞書を引いていたのではないでしょうか?
少なくとも高校までは。

プログラミングでも同じです。

意味もないし、不可能。

まずは、このマインドを持ちましょう。

マインドって、大事ですよ。
特に、新しいことに挑戦する時には。(`・ω・´)ゞ

✔️参考
『素直な人が結果を出す』たった2つの簡単な理由←捻くれてた昔の自分へ

やりがちな失敗


さっき、

初心者で、まじめな人ほど、「暗記」しようとする

というお話をしました。

ここで、ちょっと、どういうアプローチが暗記になるのか、共有しておこうと思います。

下記の通り。

・ノートを作る
・ソースコードを紙に書く

上記の通り。

、、、すみません。白状しますが、完全に昔の僕がやっていたことです。

高校までの学習習慣が、抜けていませんでした。

いろんな色のペンを使って、パラメータの動きをまとめたノートを作ったり、ソースコードを紙に書いて、自分が納得いくまで読み返したり。。。

まじで、手を動かしつつ、「勉強」していましたね。

✔️暗記しようとした結果、どうなったか

「勉強した」っていう、自己満足と、手が疲れただけですね。
ついた力は、ほとんどありませんでした。

というのは、ここでやってることって、全部「ググればわかるもの」ですので。

例えば、rubyのwhereというメソッドの意味をノートにまとめます。

時間はだいたい、、、10分くらいですかね。
コード例も書くかどうかで変わってきますが。

一方で、「ruby where」とググってみます。

なんと、、、0.38秒で、3億件ヒットします。

自作のノートよりもたくさんの情報が、1秒もかからず、手に入ります。

どうでしょう。
実際にコード書く時、調べながらの方が効率いいことに納得できるでしょうか?

ちなみに、「写経」することには、効果があります。

こちらをどうぞ。
[結論]写経でもプログラミングの力はつきます[ただし注意アリ]

プログラミングでは「逆引き力」が大切です。

ここまで読んで、

「あ、とにかく、ググればいいのか。じゃあ、別に気をつけることはないな。
Googleは、たぶん、なくならないし。」

と思うかもですが、ちょっと違います。

「暗記」はいらないが、「逆引き力」は必要

これが正しいです。

つまり、どうググるかという方法については、知っておく必要があるんですよね。

、、、当たり前のことを言っているようですが、スーパー重要です。

ステップがありまして、説明します。

ググり方には2ステップあります。

ググり方のステップは、下記です。

  1. 「〇〇できる」ということを記憶
  2. 「〇〇って打てば出てくる」という経験

上記の通り。

暗記せずに、ネットの情報を武器にするための方法です。

当たり前ですが、『正しい調べ方』がわからないと、空振りします。

必要な情報にたどり着けませんので。

それぞれ、サクッと説明しますね。(`・ω・´)ゞ

①「〇〇できる」っていうことを記憶する

これは、例を出した方が早いですね。

rubyには、deleteというメソッドがあり、何かのコードを読んでいた時に、これを見つけたとしましょう。

絶対ダメなのは、

「へー、deleteていうメソッドがあるんだ。
めもめも。」

です。

ここまで読んで頂いた方なら、イメージつきますよね。

悪くはないけど、良くもないのは、

「deleteで削除できるんだ。」

上記です。

『delete』っていうメソッド名を、頭に入れている状態ですね。

ベストはこちら。

「rubyには削除するメソッドがあるんだ。」

これで十分。

重要なのは、

×中身を覚える
○外身を覚える

この意識です。

これを頭におきつつ、次の「ググり方」をご覧ください。

②「〇〇って打てば出てくる」という経験

結論からいうと、
「言語+目的+手段(できれば)」
上記です。

これで、目的の情報にたどりつきます。

さっきのdeleteを例にしてみましょう。

今、頭の中は

rubyには削除するメソッドがあるんだ。

こんな状態。

では、googleで
「ruby 削除 メソッド」と調べてみましょう。

言語→ruby
目的→削除
手段→メソッド

こんな対応です。

結果は、下図です。

上位3ページに

remove_method、delete、shiftメソッド

これがヒットしていますね。

delete、見つかりました。

しかも、他のメソッドの存在も、知ることができましたね。

一石三鳥です。(`・ω・´)ゞ

プロのエンジニアも、ググりつつコードを書いています。

下記のツイートをご覧ください。

エンジニアの感覚から言うと、医者が医学書読みながら手術しないのむっちゃすごい。

、、吹きました。笑
確かにすぎます。

僕が過去に受講したスクール、テックアカデミーでも、こんなやりとりをしました。

「エンジニアさんは、開発中にリファレンスを開いているものなのでしょうか? もし開いてるなら、何を目的にしているのでしょうか?」
エンジニアさん
「開いてますね。いちいち覚えてないので、開発のたびにリファレンスを開いて作業しています。」

プロのエンジニアでも、ドキュメントとか、リファレンスを開きながら仕事をするものです。

この辺りに興味がある方は、侍エンジニア塾辺りの無料体験を受けてみるといいかなと。

エンジニアのリアルな話が、無料で聴けますので。

どうでしょう?
「調べる」ということに抵抗なくなってきましたかね?

最後に:効率よく、プログラミング学習しましょう

記事のポイントは下記です。

  • プログラミングで暗記は不要
  • ノートとか、紙に書く必要はない
  • 「逆引き力」が必要です
  • 記憶する部分+情報を掴む経験
  • プロのエンジニアも、ググります

上記の通り。

ぶっちゃけ、プログラミングはコスパいいスキルです。

それをコスパ悪く勉強していたら、、、

なんか元も子もないですよね。

『正しい勉強』をして、サクッとスキルをつけちゃいましょう(`・ω・´)ゞ

では、以上です。

この記事が、少しでも「暗記」から脱出する助けになれば、嬉しいです。

✔️記事中で紹介したリンク

✔️参考記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です