おすすめの独学プログラミング勉強方法
どうもこんにちは!InomaCreateのKoheiです。
最近、エンジニアの人材不足や需要の高まりで、プログラミングを学ぶ必要性が高まってきています。
今日は、私がおすすめするプログラミング勉強方法をお伝えしたいと思います。
私は、フリーランスエンジニアとして活動していますが、20年近くソフト開発業界にいますので、どうやって新しい言語やスキルを身に着けて行ったのかをお話したいと思います。
私が考えるプログラミングスキルを向上させるプロセスは以下になります。
1つずつ詳しくみていきましょう。
1.作りたいものを決める
2.【作りながら覚える】的な書籍を購入し、一通りやってみる
3.作ったものを自分なりにアレンジしてみる
1.作りたいものを決める
プログラミング言語って、「何かを作るための道具(ツール)」です。
プログラミングを勉強する前に、大前提として
作りたいモノや目的が無いまま漠然と、プログラミングを勉強しようと思ってもモチベーションは続きません。
極端な例を言えば、日曜大工で作るものも決めずに、ただトンカチやノコギリの使い方をひたすら覚えているようなものです。
まずは、自分が作りたいもの、作ってみたいものを決めることです。
作りたいものが決まったら、それを作るためにはどんな言語を使えばいいか、要は道具(ツール)を決めましょう。
以下に作りたいものとそれに関連する言語を表にまとめています。
言語選びについては、その言語の難易度や普及度などもありますので、自分のレベルや今後の活用性も踏まえて、選択すればよいと思います。
ちなみに、先に言語が決まっている方は、すでに明確になっているとは思いますが、その言語から何が作れるのかを調べて、目的を明確にすると良いと思います。(上記表を逆側から見る)
ちなみに、各プログラミング言語の特徴などを把握したい場合は、以下の本がおすすめです。
ここで言いたかったのは、すごく当たり前のことですが、何が目的でプログラミングを勉強するかという目的部分を明確にしようということです。
漠然と、なんとなく流行ってるからプログラミングを勉強しようと思っている方は、勉強する目的をまずは明確にしましょう。
2.【作りながら覚える】書籍を購入し、一通りやってみる
作るもの、そのために必要な勉強する言語が決まったら、いよいよプログラミングしていきましょう。
そこで、私がおすすめするのは、書籍です。
また、書籍でも
【作りながら覚える】解説書というのは、基本的にサンプルのコードをそのままコーディングしていけば、ある程度のものが作れるような解説書です。実践的な解説が重視されていますので、逆に言語の細かい文法などの解説はあまり掲載されていないと思います。
一方、辞書的な参考書は、細かくプログラミング言語の文法やルールが記載されています。こういった本も1冊は持っておいたほうがよいのですが、最初から最後まで理解しながら、勉強するのは時間もかかりますし、全てを完璧にやり遂げるのは、あまりおすすめできません。あくまでわからないところを調べるぐらいの辞書的なスタンスでよいと思います。
私は学生時代からC言語を触っていて、今でも組み込み系のエンジニアですので、C言語をよく使いますが、C言語のすべてを完璧に覚えているわけではありません。忘れていることはいっぱいありますし、それは、ネットや書籍で調べれば事足ります。
もちろん、全くプログラミング言語の基礎がわからない方は、初心者向けの言語本やプログラミング学習サイトである程度の基本は理解すべきです。ただし、言語のすべてを理解しようとせず、ある程度基本的なところを押さえたら、どんどんコードを組みながら、モノを作っていったほうが良いというスタンスです。
作りながら形になっていくのは楽しいですし、モチベーションは続くと思いますので、
ぜひ、【作りながら覚える】的な解説書を購入して一通り手を動かしながらやってみてください。
例えば、JavaでAndroidアプリを作りたいなら、以下のような書籍を購入をおすすめします。
※他にもAndroidアプリ、Javaというキーワードで調べれば、たくさんの書籍があります。実際に本屋などに行って自分が一番わかりやすそうな本を買いましょう。
3.作ったものを自分なりにアレンジしてみる
1冊やり終えたら、とりあえず書籍に載ってあるようなサンプル的なものは作ることができたと思います。
次は、そのサンプルを自分なりにアレンジしてみましょう。
例えばWebサイトを作ったのなら、自分なりのデザインに変えてみるとか、Androidアプリを作ったのであれば、別の機能を追加してみるとか、色々アレンジしてみてください。
また、書籍をやっていくうちに、気になるキーワードや、技術的な要素(例えば、データベースや、通信プロトコル等)で理解できてない箇所や、興味がある内容があれば、もう少しそこを深堀りして技術の内容を調べてみたりして、スキルの幅を広げていってみましょう。
実際に作りながら、プログラミングスキルを学び、その周辺の技術スキルを枝葉のように増やしていくイメージです。
最後に
何度も書いてますが、プログラミングはあくまで道具(ツール)であり、物を作ったり、アイデアを具現化するには、プログラミングだけではなく、様々なスキルを身に着けていく必要があります。
プログラミングを通して何か一つのモノが作れるようになると、自然とそこに使われている技術やトレンドなどに敏感になってきます。
今の時代、参考にする書籍は膨大にありますし、ネットからもたくさんの情報が取得できます。それらをどう使って、どのように組み合わせて、効率的にモノやサービスを作っていけるか、そういうスキルがこれからの時代に求められてくると思います。
ぜひ、みなさんもプログラミングを学び、アイデアを具現化できるスキルを身に着けていきましょう。
少しでも参考になれば幸いです。
それでは!!
スポンサーリンク