エクセルで関数(SUM関数)を記述していると、「すげぇ、プログラマみたいだ」って褒められたことがあるFa1(ふぁいち)です。こんにちは。
突然ですが皆様は、
「プログラミングを学んでキャリアチェンジをしたいが、はじめ方がわからない」
「プログラマとしてキャリアを始めたが、今後の勉強方法がわからない」
といったお悩みを抱えられておりませんでしょうか?
私もプログラミングを学び始めたときは、なにから手をつけていいのかわからず、ただ呆然と参考書籍に書かれているものを写経していたことがあります。(もちろん効果は無く・・・)
本記事では、プログラミング初心者の方へ「なにから始めればいいのか」を説明させていただきます。
目次
プログラミングとは
そもそもプログラミングとは?
結論から述べてしまうと、プログラミングとは
達成したい目的のためにコンピュータを制御すること
を指します。下記が具体例です。
- Webページを作りたい(目的) → コンピュータへ「ブラウザからコンテンツを表示する制御」を指示する
- ロボットを動かしたい(目的) → コンピュータへ「モーターを回転させる制御」を指示する
上記の例のように「なにか達成したい目的を達成するためにコンピュータへ指示」を行いますが、コンピュータは我々人間が用いる日本語や英語を理解できるわけではありません。そのため「プログラミング言語」という人間とコンピュータの両者に理解できる言語を用いるわけです。
プログラマは何をする?
一般的にプログラマと呼ばれる人たちが何をしているのかを説明致します。
「いやいや、プログラマはプログラミングをするんでしょ?」
そう思われる方も多いかと思います。答えは半分Yesで半分Noです。
プログラマは主に以下のような作業を行います。
- 最終的に作りたいものを確認・設計
- 作りたいものを実現できるプログラミング言語を選定
- プログラミング
- 機能ごとにデバッグ
- 完成
上記の作業中の3,4が多くの方が想像する「プログラミング」に該当するかと思います。
そのプログラミングに加えて、システムの設計等も行います。
そのため、これからプログラミングを学ぶ方々へのおすすめとしては、「このシステムはどんなプログラミングで実現しているんだろう?どんな言語を用いているんだろう?」といった興味を持って様々なシステムやアプリケーションに目を向けてみてください。
プログラミング初心者は何から始めるべきか
それでは、実際にプログラミングを学んでいくにあたって何から初めて、どんな方法で進めればよいのかを説明致します。
ちなみに、先にお伝えしておくと、プログラミングの基礎を学ぶ上で「独学は可能」です。
目的を決める
まずは、以下について考えてみてください。
プログラミングを学んでいって、最終的に何を実現したいのか?
プログラミングを会得して、どんな物を作ろうと考えていますか?
それらについて考えておくと、最適なプログラミング言語の選定や学習のモチベーション維持に役立ちます。
例えば、目標が「Webサービスを作れるようになりたい」であれば、「Webサービスを構築するために必要な言語」を学習していく必要があります。
プログラミング言語を決める
目的が定まりましたら、次はいよいよ学習していくプログラミング言語を選定します。
目的別に簡単におすすめの代表的な言語をまとめてみましたので、下記をご参考にプログラミング言語を選定してみてください。
- WEB開発
- JavaScript
- PHP
- Python
- (HTML / CSS) ※マークアップ言語と言って、厳密にはプログラミング言語とは異なります
- スマホアプリ開発
- Java (Android)
- Swift (iOS)
- C# (Windows)
- 組み込みプログラミング
- C言語
- C++
- アセンブラ言語
- 機械学習 / AI
- Python
- R
- まだ目的が決まっていない
- C言語
- Java
- Python
上記の「まだ目的が決まっていない」方におすすめさせていただいているC言語とJavaとPhythonは、「とりあえず抑えておけば、他の言語を使うときにも役立つ」ものになります。書籍やインターネット上での情報量も多く、学習時にも困らない言語を選んでおります。
参考書を決めて、一冊を極める
学んでいくプログラミング言語を選んだ後は、参考書を一冊選び、その一冊を使い倒しましょう。
これはどのような学習にも言えることですが、いくつも参考書を買ってしまうと知識への集中が分散してしまい、効率が下がってしまう可能性が高いです。
参考書を選ぶ際は実際に書店へ足を運んで、目を通して自分にあった内容の物を選ばれるのが最も間違いが無い方法です。
参考書を選ぶ際のポイントは以下のとおりです。
- 例示されているコードが多いもの
- 基礎的なアルゴリズムも学べるもの
特に1番目の「例示されているコードが多いもの」が最も重視すべきポイントです。
例示されているコードをご自身で自由に変更してみることで、「ただの例」だったコードが「経験」へと変わります。経験したものは忘れにくくなりますので、今後プログラマとして活動をしていく上でも大変役に立ちます。
2番目の「基礎的なアルゴリズムも学べるもの」については、あればラッキーくらいで構いません。テーマが大きくブレてしますので本記事では深く言及を致しませんが、「アルゴリズム」という分野はプログラマとして成長していく上で非常に大事な分野になります。そのため、アルゴリズムを並行して学べる教材は効果的ではありますが、ある程度基礎を学んだ後に時間を取って学んでいく方法でも問題はありません。
なにか作ってみる
目的を決めて、プログラミング言語を選定して、参考書で基礎的な部分を学びはじめましたら、並行してなにか作ってみましょう。
ここでポイントなのですが、参考書を全て終えてから作り出すよりも、参考書で勉強しながら自由になにかを作ってみたほうが効果的です。
「なにか」というのは、ご自身が目的としているものが良いと思います。
例えば、Webサービスを作りたいと思われている方は、実際にホームページを作ってみましょう。スマートフォンアプリを作りたいと思われている方は、実際にアプリを作ってみましょう。
おそらく、最初は思うように作れないと思います。そのときに「この機能ってどうやったら実現出来るんだろう?」と疑問に感じることで、参考書で学習を進めながらその答えを見つけられたときに「あぁ、なるほど!こう書けば良いのか!」と納得することができます。
上記のように進めていくと、最初に選んだ参考書だけでは疑問を解決できなくなるタイミングがやってきます。その頃には、インターネットで検索をして答えを見つけ、ご自身で解決できるレベルに到達していると思います。
基礎的な文法等は参考書で学び、学んだことを「なにかをつくること」で実践していき、さらに必要な情報はインターネット経由で得ていく。このフローはプログラマとして活動・勉強をしていく上で非常に大切なフローとなります。
まとめ
以上がプログラミング初心者へおすすめするプログラミングの始め方になります。
まずはプログラミングを始める目的を明確にして、その目的に最適なプログラミング言語を選択します。選択した言語の例題の多い参考書を見つけて、ひたすらに基礎を学びます。そして、並行してご自身でもなにかを作ってみましょう。この流れを徹底することで、プログラミングを会得することができます。プログラミング言語は手を動かして楽しみながら学んでいくものですので、どんどんとコードを書いていきましょう!
本記事が、プログラミングを始めるにあたっての参考になれば幸いです。