プログラミングの勉強を始めたいけど、プログラミング言語が色々ありすぎてどの順番で勉強したらいいかわからない。
そもそも勉強方法もよくわからない(泣)
本記事ではこのようなプログラミングの勉強をこれから始めようとしている人が、抱えがちな悩みを解決できる記事となっております。
僕はプログラミングに触れ始めてから既に数年経っており、エンジニアインターンをしていたり、自分でwebサービスを開発したり、プログラミングコンテストに参加したりしています。
記事を最後まで読むと、あなたにピッタリのプログラミング言語を学ぶ順番や勉強法がわかるはずです。
プログラミングを勉強し始める前に知っておくべき前提知識
本題に入る前に、プログラミングの勉強を始める前に最低限知っておいてほしいこと3つについて説明させてください。
これら3つを分かっていないと、話にならないので…(すでに知っているという方は飛ばしてください)
プログラミングとは
コンピュータを動かすために、コンピュータが理解できる命令文(コード)を書くこと
これがプログラミングの意味であると理解すればよいです。
そして、コンピュータが理解できる文章(命令文)を「プログラミング言語」と呼びます。
プログラミングを勉強するメリット
プログラミングを勉強するとどのようなメリットがあるのか、具体的なメリット4つを紹介します。
- ITエンジニアに就職・転職できる可能性がある
- 自分の作りたいwebサービスを実際に作れるようになる
- 収入が増える可能性(副業や転職)
- 時間や場所に縛られず働けるようになる可能性
実用的・現実的には以上のようなメリットがあると考えています。
プログラミングを勉強するとお金が稼げるようになる理由ですが、単純に現在、日本ではITエンジニアが不足しているからです。
ITエンジニア不足が原因で、あの有名企業の楽天なんかは、海外からエンジニアを雇って社内言語を英語にしていることでも有名です。
プログラミングで出来るようになること
実はプログラミング言語を学ぶ順番を考える上で、プログラミングで何をしたいか、何をできるようになりたいかが一番大事です。
プログラミングを勉強してできるようになる代表的なこと8つ
- ITエンジニアとして就職・転職
- webサービス開発
- スマホアプリの開発
- ゲームの開発
- AI/機械学習の開発
- データサイエンティストになる
- ロボットなど電子機械・部品の制御
- 面倒なPC作業の自動化
プログラミングと一言で言えど、できることは多岐にわたります。
もちろん、何を目指すかによってどんな言語を勉強する必要があるのかは変わってきます。
プログラミングを勉強した後何がしたいかが決まっていない人はぜひ、これについて考えてみてください。
特にやりたいことはないけど、なんとなく有利そうだから勉強したい
このようなメンタルの人は基本勉強が続かないので、しっかりプログラミングを勉強する自分なりの目的・目標を決めてください!
目的別 プログラミング言語を学ぶ順番
人によってプログラミングを勉強する目的や目標が違うはずなので、万人に正しい勉強順序はありません。
なので、この章では目的別に学ぶべきプログラミング言語や勉強する順番について詳しく解説していきます。
でも、どうしてもプログラミングを学ぶ明確な目的や目標が思いつかない、見つからない。
そういう人はまずは「webサービス開発」ができるようになることを目標・目的にするといいよ!
難易度も他と比べると高くないし、作るものもイメージしやすいからね!
学ぶプログラミング言語や勉強する順番は目的から逆算
先ほども述べましたが、
プログラミング言語を学ぶ順番を決める上で、プログラミングで何をしたいか、何をできるようになりたいかが一番大事です。
なぜなら、プログラミングを学ぶ目的・目標があれば、そこから逆算することで、自然に学ぶべきプログラミング言語やその順番は決まるからです。
初心者はとりあえずHTML,CSSから勉強して次にJavaScriptやRubyを勉強するのがいいよ
というのがよく見たり聞いたりする言説ですが、目的が決まっているならばこの限りではないはずです。
プログラミングを勉強してITエンジニアとして就職・転職したい
ITエンジニアといっても、web系なのか、機械学習なのか、ゲーム系なのか、目指すエンジニアの種類によって勉強するべきプログラミング言語や順番は変わってきます。
ですが、どのエンジニアを目指すにしても、未経験の初心者が独学でITエンジニアを目指すには時間がかかりすぎるし、挫折することも多いです。
そこで、転職・就職保障つきのオンラインプログラミングスクールに通うのがおすすめです。
プログラミングを勉強してwebサービス開発がしたい
webサービス開発がしたい人の勉強すべきプログラミング言語と順序は以下のようになります。
- HTML
- CSS
- JavaScriptやJavaScriptのフレームワーク
- Ruby,PHP,Python,Javaのうち最低限1つとそのフレームワーク
フレームワークとはweb開発などをするにあたって、必要となる機能やそのコードがあらかじめ用意されているものです。
フレームワークを使うと0から機能を全て作る必要がなくなり、かなり楽になるのです。
ただし、人によっては③を飛ばす、もしくは④を飛ばすなどをしてもいいと思っています。
これについて補足すると、フロントエンドエンジニアを目指すかバックエンドエンジニアを目指すかの違いです。フロントエンド、バックエンドに関しては正確ではないですが、下のようなイメージ。
- フロントエンドエンジニア→webサイトの見た目に関する部分を作るエンジニア
- バックエンドエンジニア→webサイトのユーザーから見えない部分の仕組みをつくるエンジニア
フロントエンドがいいなら、④は飛ばしてもいいですし、逆にバックエンドを目指すなら③は飛ばしてもいいでしょう。
どちらもできるようになりたいなら、③も④もする必要があります。
プログラミングを勉強してスマホアプリ開発がしたい
スマホアプリ開発がしたい人の勉強すべきプログラミング言語と順序は以下のようになります。
- Swift
- Kotlin,Java,C#のうちどれか
正直、これに関して順序はどちらでもいいと思います。
①SwiftはiPhoneアプリを作るための言語で、②Kotlin,Java,C#はアンドロイドアプリを作るための言語です。
iPhoneかAndroidかどっちのアプリを先に作りたいかで順序は決めるといいと思いますが、初心者にとってとっつきやすいのはSwiftです。
プログラミングを勉強してゲーム開発がしたい
ゲーム開発がしたい人の勉強すべきプログラミング言語と順序は以下のようになります。
- Unity
- C#
Unityは正確にはプログラミング言語ではなく、ゲームを作るための「統合開発環境」です。
現在、ゲームの多くはUnityとC#を用いて作られているので、初心者の方はまずこの2つについて勉強すればよいでしょう。
C++やJavaもゲーム開発によく用いられる言語ですが、いきなりこの2つに手を出すのは難しいかな…と思います。
プログラミングを勉強してAI・機械学習エンジニアになりたい
AI・機械学習エンジニアを目指す人の勉強すべきプログラミング言語と順序は以下のようになります。
- Python
AI・機械学習エンジニアになるには、基本的にまずはPythonのみを勉強すればよいでしょう。
ただし、数学の知識がある程度必要とされます。
ほかの言語を勉強しなくてもいい分、数学の勉強(主に微分積分や線形代数など)に時間を割く必要があると考えてください。
プログラミングを勉強してデータサイエンティストになりたい
データサイエンティストを目指す人の勉強すべきプログラミング言語と順序は以下のようになります。
- Python
- R言語
データサイエンティストを目指す場合、機械学習と勉強内容が被る部分が結構多いです。
まず初めに覚える言語はPythonでいいと思いますが、特に統計学などの数学の勉強も他に必要になります。
プログラミングでロボットなど電子機械を操作したい
ロボットプログラミングをしたい人の勉強すべきプログラミング言語と順序は以下のようになります。
- Python
- C/C++
ロボットプログラミングには基本的にCやC++がプログラミング言語としては使われることが多いです。
ではなぜ、1番目にPythonを選んだかというと、いきなりCやC++に触れるのは難があると考えたため。
PythonではRasberryPi(ラズベリーパイ)という小さなコンピュータを使った機械制御やIoT開発を楽しめるツールがあります。
とっつきやすさを考慮して、Pythonから始める方が安全かと思います。
プログラミングで面倒なPC作業の自動化がしたい
面倒なPCの作業を自動化したい人の勉強すべきプログラミング言語と順序は以下のようになります。
- Python
日々の面倒なPC作業を自動化するのにはPythonを勉強するだけで十分ですし、勉強時間もさほどかからないと思います。
あなたにピッタリのプログラミングの勉強法は?
プログラミングの勉強方法
どのプログラミング言語をどんな順番で勉強するにしても、プログラミングの勉強法は基本的に変わりませんし、急速に上達するウラワザ的な勉強法も上達しません。
プログラミングを習得するために最も大切なのは、インプットとアウトプットの繰り返しで、特にアウトプットが重要です。
- インプット:動画や本などの教材で新たな知識・学習項目を頭に入れる
- アウトプット:インプットで頭に入れたことを実際に手を動かしてコードに落とし込む
インプットとアウトプットを何度も繰り返してプログラミングは上達します。
新しく自分の頭に「インプット」したことは、何が何でも自分の手でコードに落とし込んで「アウトプット」する。プログラミング学習の鉄則です。
また、プログラミングを勉強する手段としては以下の3つが主です。
- プログラミングスクールに通う
- 独学する
- 実際に働いて覚える
この中であなたはどの勉強方法を採用すべきか、また、それぞれの勉強法の注意点などについて触れていきます。
プログラミングスクールに通う
未経験や初心者でプログラミングにほとんど触れたことがないという人にはかなりお勧めです。
というのも、プログラミングスクールを利用することで、初心者が最も挫折しがちな勉強し始めの段階をつまずくことなく進められるからです。
プログラミングスクールは結構数が多くて、迷ってしまうとの声も多いですが、コースも豊富で、かつ現役エンジニアに教えてもらえる「テックアカデミー」が一番おすすめです。
独学でプログラミングを勉強する
独学で勉強する際に利用するツールとしては
- 本を買って勉強する
- webサービスを使って勉強する
- UdemyやYouTubeなどの動画を利用する
のような方法が一般的です。
webサービスだと王道のProgate、Python学習に特化したPyQなどが有名どころでしょうか?
Udemyは有料で動画を視聴できるサービスですが、動画での解説なのでかなり分かりやすく、また質も良いので自分も独学に重宝しています。
特に、セールの日を狙うと通常1万円以上するようなコースが1000円強で購入できることが多いので、セールの日を狙うべきです。
初心者がプログラミングを独学で学ぼうとすると、理由は様々ですが、挫折してしまうことが多いです。
ある程度、プログラミングに慣れた人であれば、独学も余裕なんですが、いきなり独学は正直おすすめできないです。
プログラミングスクールに通うまでしなくても、プログラミングを教えてくれる「メンター」をつけてみると独学よりだいぶスムーズに習得できます。
エンジニアとして働く中でプログラミングを身に着ける
「プログラミングに結構なれてきたな」という感覚があれば、実際に働いてみるのが一番いいと思います。
なんやかんや自分1人で勉強しているだけでは実務で必要な力はつかないですし、逆に実務でプログラミングを使うことがさらなる勉強になります。
学生ならエンジニアインターンやエンジニアアルバイト、社会人なら転職などを考えてもいいでしょう。
プログラミングへの慣れ度合いによって勉強法を変えるべき
- プログラミング初心者は「プログラミングスクール」を利用
- 慣れてきたら独学で勉強してみる
- 慣れてきたら実際に働いてみる
という風にするのが一番いいと思います。特に初心者は
のような例はかなり多く、実際にプログラミング学習者で挫折する人のほとんどがかなり最初の段階で挫折するからです。
プログラミングスクールの一番の効用は初心者が最も挫折をしやすい最初の段階を乗り越えることだと言っても過言ではないです。
プログラミング言語の勉強順序・方法まとめ
長くなってしまったので、プログラミング言語の勉強順序や勉強方法について重要なことを再度まとめておきます。
- プログラミング言語の勉強順序はプログラミングを勉強する目的から逆算すると自然と決まる
- どうしてもプログラミングを勉強する目的が浮かばない場合はとりあえず「webサービス開発」を目的・目標とするのがおすすめ
- 特に初心者はプログラミングスクールを活用するとかなり効率よく、挫折なくプログラミングを学べる
本記事は以上です、ご覧いただきありがとうございました。
コメント