こんにちは。
この記事を読んでいるあなたは、

プログラミングを始めようとしているが、どのプログラム言語がいいかわからない。
プログラミング言語がたくさんあるが、それぞれの特徴がわからない。
早くエンジニアやプログラマーになって転職したり案件を獲得したいが、とっかかりがわからない
このような悩みを持っているのではないでしょうか?
初心者で右味も左もわからない状態で勉強を開始しようとすると、あまりにいろいろな言語があり、どこから手をつけていいかわからなくなりますよね。
しかも選ぶ言語によっては、以下のような問題がある可能性があります。

あなたの作りたいものを作れなかったり
転職しづらい、求人しづらいなどの言語だったり、
初心者が学習をするには難しすぎるものだったり、
どのプログラミング言語から勉強を始めるか?は非常に重要なのです。
そこでこの記事では、初心者が勉強するときの、おすすめのプログラミング言語(プログラム言語)に関して説明します。
この記事を読んでいただくことで、初心者から始めるならどのプログラミング言語がいいか?を理解することができます。
前提
一般に、プログラミングをする言語は、「プログラム言語」ではなく「プログラミング言語」と言います。

ある一定数の方は「プログラム言語」という名前で検索されているようですが、「プログラミング言語」という方が一般的なので、この記事でも「プログラミング言語」という名前で統一したいと思います。
また、この記事を読んでいるあなたがプログラミングを勉強する理由は、以下のものだと仮定します。

早くエンジニアやプログラマーとして転職をしたい / 案件を獲得したい
何故かというと、趣味でプログラミングを勉強する目的であれば、
でよいからです。
ですので、この記事では、
という基準でプログラミング言語をおすすめしています。
この記事でのおすすめの基準

この記事でおすすめするプログラミング言語は、以下の観点から選んでいます。

・言語自体の学習コストがどうか?
・トレンドになっているかどうか? (IT技術は外国のトレンドにも左右されるので、日本だけではなく、海外のトレンドがどうか?)
・汎用性が高いかどうか?
・案件を獲得しやすいか?
プログラミング初心者にとって一番の的は、挫折です。
どんなに案件の数が多くても、どんなにそのプログラミング言語の平均年収が高くでも、挫折するリスクが高いものはおすすめしません。
この記事の流れ
この記事では、以下の流れで紹介していきます。

・初心者にオススメする、プログラミング言語トップ3
・プログラミング言語の効率的な学習方法
・それぞれの言語をどのレベルまで勉強したらいいのか?の目安の紹介
・プログラミングを学習した後の転職や、案件の獲得方法
ですので、この記事では、

今からプログラミングを勉強しようとしているけど、どの言語を勉強したらいいんだろう・・・?
と思っているあなたが、
・その後勉強をする上でのゴールの目安となるレベルを紹介
・そして、最終的な転職や案件ができるまでの考え方や、やり方
という、全体の流れをご紹介したいと思います。
この記事の信頼性
僕は大学のときにプログラミングを勉強しはじめ、社会人もエンジニアとして働いていました。
また、今でもIT企業に勤務しており、いろいろなプロジェクトでいろいろな言語が使われているのを見ています。
なので、
・どのような言語が今、IT企業で使われていて、どのような言語が使われていないのか?
という情報を、身を持って知っています。
なので、この記事ではそういった情報を、これを読んでいるあなたにお伝えしたいと考えています。
結論
それでは早速、詳細に入る前に結論からお伝えします。
初心者から勉強するのにおすすめのプログラミング言語トップ3は、以下のものになります。

・1位: JavaScript
・2位: JavaとGo
・3位: Python
※トップ3といいつつ4つあるのはご愛嬌、ということで・・・。
僕は、あなたが今からプログラミングを勉強するならこれらの言語をおすすめします。

むしろ、これらのプログラミング言語はどれか1つというよりも、最終的にはすべてをある程度書けるようになるのが最終ゴールだと思っています。
それでは何故これらのプログラミング言語がよいのか?
そしてその他のプログラミング言語をおすすめしていない理由は何なのか?
を紹介してきたいと思います。
プログラミング言語の一覧

オススメの前に、今比較的よく使われているプログラミング言語の一覧は以下の通りです。
JavaScript
Ruby
Java
Go
C#
TypeScript
PHP
Swift
Kotlin
今回は、この中からオススメのプログラミング言語を選びました。

プログラミング言語は、本来、目的に応じて適切な言語を選ぶのがよいです。
ただ、初心者のときはそこまで明確な目的がないと考えられるので、今回は汎用性を意識しつつ、オススメしています。
ちなみに、この順番が絶対というわけではないので、他のサイトの情報も参考にしていただければと思います。
初心者にオススメするプログラミング言語トップ3
それでは結論でお伝えしたプログラミング言語をオススメする理由を、1つずつ紹介していきたいと思います。
1位: JavaScript
フロントエンドで動くものを作ろうとしたら、JavaScriptは必須になります。
特にHTML/CSSとの相性がいいため、その続きで勉強するとスムーズに導入することができると考えています。
いろいろな派生型の言語が生まれており、JavaScriptを習得することのメリットは大きいです。
ここからTypeScriptなどに発展させていければ、さらに獲得できる案件の数も増えてくると想定されます。
2位: Java、あるいはGo
2つ同率でランクインとさせていただきました。
Java
大規模システムで引き続き使われることが多いため、案件を獲得しやすい傾向にあります。
求人数もかなり多く揃っています。
さらに、古くからある言語であり、技術など含め、情報はかなり揃っています。
Go
Googleから出ている言語であり、今後、今以上に流行る可能性があります。
また、プログラミング言語別の年収ランキングで1位(600万円)になっています。
僕のまわりでもGoでバックエンドを書いているプロジェクトが増えてきているので、確実に浸透しはじめている、といえます。
3位: Python
トレンドとして載せました。
機械学習やデータ分析に用いられることが多い言語で、今後、さらに人気が上がってくることが予想されます。
また、ツールの作成やスクレイピングなどのライブラリも豊富なので、小回りが効きやすいのもポイントです。
3つ挙げたものの、初心者がいきなり3つやるのは不可能なので、まずは1つ目のJavaScipt特化で勉強するのがよいと考えています。
JavaScriptである程度慣れた後、その他の言語に少しずつ手を出していくのがオススメです。
HTMLやCSSは「マークアップ言語」と呼ばれるもので、厳密にはプログラミング言語ではないため、今回のランキングからは外しました。
とはいえ、HTMLやCSSはJavaScriptとも相性が良いですし、UI(見た目)を簡単に書くことができるので、本来であればJavaScriptの前に、簡単にでもHTMLやCSSは覚えておくべきだと考えています。
このあたりの話は、以下の記事でまとめているのでこちらもあわせて読んでみてください。
プログラミング初心者が選ぶべき言語は?【挫折しない&案件獲得に向けた考え方】
その他のプログラミング言語をTop3に挙げなかった理由

そして、僕が上記以外のプログラミング言語をランキングに入れなかった理由も、簡単に説明しておきたいと思います。
KotlinやSwift
主にスマホ向けのプログラミング言語となります。これらの言語もかなり奥が深く一度やり始めるとずっとそれをやり続けることになることになります。
そして、初心者の人はWeb側に行く傾向にあるため、今回はオススメから外しました。
Ruby
海外ではあまり使われていないこともあり、今後トレンドが少しずつ弱まっていく可能性があると考えています。
また、僕が努めているIT企業でもRubyを使ってプログラムを書いているプロジェクトは見たことがないです。
C++
言語を覚えるハードルが高いためです。
僕も大学のときにてを出して、非常に苦労した記憶があります・・・。
TypeScript
JavaScriptと似ており、まずJavaScriptをある程度やってからの方が学習が短期間で済むためです。
PHP
僕があまり詳しくないため割愛とさせてください・・・。
プログラミング言語の効率的な学習方法や、目指すレベル
それでは、こういったプログラミング言語をどうやったら効率的に勉強出来るのか?をご紹介したいと思います。
大前提として、基本的にどのプログラミング言語であっても、学習方法はどれも同じです。
具体的には、どのプログラミング言語であったとしても基本をある程度学習した後、実際に動くものを作って、さらにその後案件を獲得する、という流れになります。
この流れに関しては、以下の記事で詳しく触れているのでこちらを読んでみていただければと思います:
未経験からのプログラミングの独学方法【効率が良い&超具体的な方法を公開】
要点だけピックアップすると、このような感じです。

・目標を設定する
・Progateやドットインストールで5割〜8割くらいの理解度(書けなくていい)を目指す
・(1回目)サンプルアプリを変更して作りたいものを作る (目標の20%程度の出来でOK)
・(2回目)サンプルアプリを変更して作りたいものを作る (目標の50%程度の出来でOK)
・フルスクラッチで作りたいものを作る (目標の80%程度の出来でOK)
・自信を持って転職活動 or 案件獲得にGo!
これを踏まえた上で、プログラミング初心者がどのレベルを目指すべきか?

もしあなたがプログラミング未経験の状態からエンジニアやプログラマーの転職をしたりフリーランスとして案件を獲得したい場合は、
このレベルが最初の目標となります。
ゼロからアプリやサービスを立ち上げると、本当にいろいろなハードルを超える必要があるため、ある程度のスキルがあることを証明できます。
具体的には、以下のようなスキルがあることの証明になります。

・ある程度そのプログラミング言語の構成が理解できている
・教材を周回しているだけでは遭遇しないようなエラーも解決することができる
・最後までやり抜くことができる
なので、このレベルになったら転職活動や案件獲得に進むのがオススメです。
逆にいうと、いつまでもオンライン教材やプログラミングスクールの教材だけをやっていてはいけません。
これらの教材は次に何をやればいいかが分かりやすいのですが、「自分で次に何をすべきか?」を考える力が育たないためです。
プログラマーの現場はそういったことは誰も教えてくれないので、プログラミングを勉強しているうちから、そういった考え方には慣れておくようにしましょう。
まとめ
初心者からプログラミングを勉強する場合、以下のプログラミング言語がオススメです。
・2位: Java or Go
・3位: Python
これらのプログラミング言語は、
・他の言語への展開のしやすさ
・案件の多さ
こういったものをベースに選んでいます。
また、プログラミング言語は本来、目的に応じて選ぶべきです。
初心者のうちは、まずそのことを頭に入れておきましょう。
今回の記事は以上です。
この記事を読んだあなたがプログラミング言語をスムーズに選び、エンジニア転職や案件の獲得などの目標を達成できることを願っています!
ここまで読んでくださり、ありがとうございました!
コメント