プログラミングの勉強のコツ

thumbnail

使いたいものを作る

使いたいものを作ればモチベーションが続くだけでなく、自分が使うからバグの発見もしやすいし、ユーザーの気持ちが分かるといういい事づくしです。 ユーザーの気持ちが分かれば改善点も自ずと見えてきます。 仕事であれば最終的にはABテストとかで改善していくんでしょうけどね。 でも、金銭目的ではないからこそ、独特なプログラムが生まれたりします。

プログラミングという科目

プログラミングでは教科書を片手に、ノートとペンで問題を解くような勉強はしません。 とにかくプログラムを動かしながら勉強します。 そして、何故か復習もあまり必要と感じません。

という、すごく特殊な科目なんですが、これはゲームに似ていると思います。 誰も攻略本を片手に、要点をノートに取ったりしませんよね。 とにかく情報を得たらそれを使ってみるというやり方をします。 そういえば、一時期マインクラフトというゲームにドハマりしたときも朝から晩までやってしまって、彼女に禁止されてしまいました。

プログラミングは目的を達成する手段に過ぎません。 作りたいものがないのに、「プログラミング勉強してみたい」とか言う人はだいたい続きません。 それじゃあ、学校の勉強と同じでつまらないです。

プログラミングの勉強をするなら知識を受動的ではなく、能動的に付ける必要があります。 プログラムを作ってるうちに必ずどこかで問題が発生します。 その問題をいかに解決するかを調べる。 プログラミングの勉強はその連続です。

座学をするのは本当に基礎の基礎だけです。 動くものを作らないと、頭が整理されないし、モチベーションが続きません。 だからか、プログラマーの間ではあまり資格は重視されません。 それよりも何をやってきたかというのが見られます。 僕も基本情報技術者試験の勉強したこともありますが、学術的な内容が多くて実用的な内容はあまりありません。 ただ、僕のように独学でやってる人は知識に偏りがあるので、知識を標準化する用途ではアリかなとも思いました。

※追記 プログラミングは実際に動かすのが基本ですが、参考書も有用です。 能動的な知識を得るのは限界があるので、参考書を使えば体系的な知識を得ることができます。 その後はやはりひたすら手を動かして消化する!

言語の選び方

言語を選ぶときも、「流行ってるから」という理由で選ぶのではなく、実際に手段として使う前提で選びましょう。

上手くいくのはだいたいこの2パターンだと思います。

わからないことがあったとき

ひたすらググる、基本はこれ。笑 見つからないときは英語で検索する。

参考書があればパラパラっと見てみる。

GitHubで自分と同じようなことをやってるプロジェクトを探して参考にする。

それでも見つからないときはstackoverflowやteratailで質問する。 Yahoo知恵袋はコードが載せにくいです。

Stackoverflowを使う場合は英語の方がいいかも。