【注意】効率の良いプログラミング勉強法はただ1つ【実例アリ】

プログラミング

あなた

あなた
「一番効率の良いプログラミングの勉強法を知りたい。」

そんな疑問を解消します。

この記事で分かること

  • 効率のいいプログラミング勉強法

管理人
「本業プログラミングの私が、実例とともに解説します。」

管理人

世界一効率のいいプログラミング勉強

勉強

結論は、遅延評価勉強法です。この名前を覚える必要は一切なし。

遅延評価勉強法って何?
-> 求めるアウトプットのために必要なことだけを勉強していく方法。

すなわち、アウトプット重視。具体例で言うと、こんな感じです。

  • Webサービスを作りたい!と目的を決める
  • そのために必要な部分だけ勉強していく

使わないかもしれない知識は、必要になるまで勉強する必要はない、ということですね。

メリット:なぜ効率がいいのか?

ピースサイン

メリットはただ一つ。最短でアウトプットできるからです。

必要なところだけを勉強しながらプログラミングするので、インプットとアウトプットが同時に並行します。

デメリット

顔を覆う

デメリットは、やりたいことが途中でコロコロ変わってしまう場合に発生します。

例えば、以下の流れ。

  1. Webサイトを構築するぞ!
  2. カスタマイズしたいからPHP勉強する!
  3. やっぱりWebサービス作るからRuby!

これでは、あなたのアウトプットがなかなか作れません。

これだ!と目的を一つ決めて、まずはそれを最後まで作り切ってみることが大事。

こんなプログラミング勉強をしてませんか?

疑問

  • 勉強することが目的になっている
  • アピールできるアウトプットがない

本を読んで満足。プログラミングを勉強している状況に満足。そうなっていたら要注意!

特にプログラミングでは、知識だけ持っていても無意味です。あなた自身のアウトプットを作りましょう。

あなた

あなた
「プログラミングでこんなもの作ってます!」

と見せてもらった方が、勉強してます!とだけ言われるより、かなりの説得力があります。

効率のいいプログラミング勉強の実践

練習

遅延評価勉強法、すなわちアウトプット重視の勉強法はとても簡単です。

あなたがアピールしたいアウトプットを作りきることに集中するだけ。

転職を考えているのなら、面接でアピールできる実績のことです。

  • このWebサービスを作りました!
  • このプログラムを作りました!

といったように、目的のアウトプットを作るために勉強していきます。

もちろん本やWebの情報を参考にしながらでOK。アウトプットに不要な勉強は、勇気を持ってすっ飛ばしてください。

最初から100%を目指す必要はない

パーセント

あなた

あなた
「まずは本を100%全部読み切ってからプログラミングしよう!」

とならないように要注意。プログラミングを勉強してる!という状況に夢を見てはダメです。

とにかく、アウトプット重視。

  1. アウトプットのためにプログラミング
  2. そのために必要な部分だけを勉強

この2つを徹底的に繰り返します。

例え未完成でも、人に見せれる状態まで辿り着ければいいんです。最初から100%を目指す必要なし。

実例:効率よくAIプログラミングを勉強してみた

AIロボの手

実例として、私の本業とは無関係なAI(機械学習)プログラミングを勉強してみました。

手順は以下の通り。まさに、遅延評価勉強法 = アウトプット重視です。

  1. まずプログラミングを始める
  2. 知らない知識だけ勉強していく
  3. 動いた!と結果にたどり着く

よし、AIの基礎を勉強するぞ!とかは一切なし。必要な時に必要なところだけ勉強していきました。

具体的にやったこと:画像認識AI

MNISTのコード一部

MNISTという、定番の画像認識AIの初歩をやってみました。以下の流れです。

  1. 手書きの数字60,000個をAIに勉強させる
  2. 新しい10,000個の手書き数字を読ませる
  3. その正解率は…97%!

はい、AI素人の私でもAIプログラミングの初歩ができました!立派な実績です。

プログラミングしながら、AI(機械学習)が何をしているのか?も自然と理解できました。

管理人
「じっくり本を読んでいたら、多分何も作れていなかったです。」

管理人

証拠のプログラムと実行結果

筆者の取り組んだプログラミング、証拠として一応残しておきますね。

MNISTのコード

これがその実行結果。

結果

私自身、アウトプット重視な人間です。


まとめ

一番効率の良いプログラミングの勉強法についてまとめました。

「あなたは、プログラミングで何を作れますか?」

この質問にパッと答えられるアウトプットを作りましょう。

アウトプットをどんどん積み上げていけば、プログラミングにも自信がつきます。

1ヶ月後、あなたはプログラミングで何を作っているでしょうか?