こんな方にオススメの内容!
- どのプログラミング言語を学習すればいいか悩んでいる!
- おすすめのプログラミング言語を教えてほしい!
- 各プログラミング言語の特徴を知りたい!
当記事でわかること
- そもそもおすすめのプログラミング言語が存在しない理由
- 学習するプログラミング言語の選び方
- 各プログラミング言語の習得メリット
おすすめのプログラミング言語が存在しない理由
結論:人によって選ぶべき言語が変わるため
具体的には下記の2つによって選択すべき言語が決まってきます。
- プログラミングを学習する目的
- 現在の自分の状況
まずは学習目的の明確化が重要になってきます。
目的の明確化が重要である理由を、イメージしやすいように「海外旅行」に例えてみます。
気軽に行ける | 韓国、台湾、グアム |
---|---|
物価が安い | タイ、ベトナム、マレーシア |
大自然を満喫 | アメリカ、カナダ、オーストラリア |
世界遺産観光 | イタリア、中国、スペイン |
南国でゆっくり | ハワイ、モルディブ、タヒチ |
このイメージはプログラミング学習でも全く同じです!
プログラミングの学習目的が明確であれば、自然と選択する言語が決まってきます。
次に、現在の自分の状況がどういうものなのかによっても、選択する言語が変わってきます。
「現在の自分の状況」とは、下記などが挙げられます。
- エンジニア歴を持っている(この場合は未経験者扱いにはならないが)
- 既にとある言語の学習中
- エンジニアという職業に興味を持ち始めた段階
- 無職状態
例えば、少しでもエンジニア歴があるのであれば、その際に使用していた言語を伸ばしていけば、実務経験と兼ね合わせて比較的スムーズに転職ができます。
一方で無職なのであれば、1日でも早く転職することが必要になるため、比較的習得難易度の低い言語を選択する必要があります。
そして目的と状況を洗い出せたら、次はいよいよ言語選びになります。
具体的な言語選びの流れのイメージとしては、下記が挙げられます。
- プログラミングを学習する目的を決める。
- その目的達成に必要な言語をネットで調べる。
- ネットで調べてもよく理解できなかった場合に現役エンジニアにオススメの言語を聞く。
- 自分に適した言語がわかったら学習をスタートさせる。
反対に、目的も自分の状況も全くわかっていない状態でプログラミング学習をスタートさせると高確率で挫折します。
なぜなら、下記のような問題が発生する恐れがあるからです。
- 不明確な目的によって、学習に対するモチベーションの維持が難しい。
- 状況の不認識によって、学習にかけるべき時間や努力量を間違えてしまう。
プログラミング学習を始める前に、最低限「目的」と「状況」は洗い出しておきましょう!
目的別おすすめの言語
前述まででおすすめの言語が存在しない理由を解説しました。
では実際にプログラミングを学習する目的別に、学習すべき具体的な言語を簡単に解説します!
ただし、今回挙げる言語や目的はあくまでも一例です。
WEB制作に興味がある:JavaScript、PHP(WordPress)
「エンジニアってWEBサイトを作ってるんだろうな〜」
エンジニアの細かい業務内容やプログラミングに関する知見が無かったとして、WEBの何かしらの開発をしていることは容易にイメージがつくと思います。
それもそのはず、どんな方でもスマホやパソコンを通してほぼ毎日WEBサイトを見ているほど、非常に身近な存在だからです!
そのため、WEBサイトを作ってみたいという興味本位でプログラミング学習に励もうと考える方は多い傾向にあります。
ただし、WEB制作だと厳密にはプログラミング言語を使用しなくても作ることができます。
基本的には「WordPress」というWEB制作でよく使われるツールを扱えるようになるだけで十分です!
とはいえ、このWordPress自体も裏では別の言語を使って作られたツールです。
つまり、カスタマイズ前提でWordPressを使う場合であれば、裏で使われている言語を学習しておくと良いです。
さらに、見た目を編集する際に使われる言語を用いることで、よりオリジナルなWEBサイトを作ることができます。
ですので、もしWEB制作に本腰を入れるのであれば、下記の言語の学習はしておきましょう!
PHP | WordPressで使われている言語 |
---|---|
JavaScript | 画面に動作を加える |
HTML、CSS(マークアップ言語) | デザインやレイアウトを編集する |
初心者でも習得しやすい:JavaScript、PHP、Ruby
「JavaScript」「PHP」「Ruby」
それぞれが初心者でも習得しやすい理由は、主に下記が挙げられます。
【JavaScript】
- 複雑な環境構築が不要ですぐにコーディング作業に取りかかれる!
- ブラウザ上ですぐに動作確認が行えて進捗具合を把握できる!
【PHP・Ruby】
- サーバーサイド言語としては環境構築がそこまで複雑ではない!
- ブラウザ上で動作の確認が簡単にできる!
- 他の言語と比べてネット上での情報や言語に関する書籍がたくさんある!
- 学習者の人口が多くすぐ誰かに質問できる環境を作りやすい!
- 各言語のフレームワークやライブラリが充実している!
JavaScriptに関しては、”複雑な環境構築がほぼ不要”という点が非常に大きいです!
- ブラウザ(Chromeなど)
- エディタ(VScode、Atomなど)
上記2つがあれば、とりあえずプログラミング学習を始めること自体はできます。
プログラミング初心者のつまづきポイントの一つが「開発環境の構築」です。
現役エンジニアでさえもつまづくことがあるポイントなため、当然初心者には高い壁となります。
ただし、JavaScriptであればそんな高い壁を乗り越えることが不要であるため、初心者に易しい言語と言えるでしょう。
一方で、PHPやRubyはサーバーサイド言語に分類されるため、JavaScriptと比べると環境構築の壁は高いです。
ただし、他のサーバーサイド言語と比べると、PHPやRubyは書籍やネット情報をはじめとする情報量が非常に豊富です!
そのため、環境構築やプログラミング学習段階でつまづいても、解決策をすぐに見つけやすいのが特徴です!
また、どのプログラミングスクールを見ても、PHPとRubyはほぼ間違いなく取り扱い対象言語として選ばれています。
スクールでよく取り扱う言語ということは、それほど初心者でも取り掛かりやすい言語ということです!
「とりあえずプログラミングがどういったものなのかを知りたい!」
このような曖昧な目的の方であれば、まずは習得難易度が比較的低い「JavaScript」「PHP」「Ruby」をおすすめします。
(とは言え、プログラミング学習の目的は明確にしておきましょう)
収入を上げたい:Go、Python
「現職よりも収入を上げたい!」
このような目的でプログラミング学習を始める方も多いはずです。
それもそのはず、学歴や職歴問わず、「スキル」「経験値」「実績」でいくらでも収入を上げるチャンスがあるためです!
そんな中で最も収入を上げやすい言語が「Go」と「Python」である理由は、下記のようなデータで示されているからです。
順位 | 言語名 | 平均年収 |
---|---|---|
1位 | Go | 600万円 |
2位 | Scala | 600万円 |
3位 | Python | 575.1万円 |
4位 | Kotlin | 575万円 |
5位 | TypeScript | 575万円 |
6位 | R | 574.8万円 |
7位 | Ruby | 550万円 |
8位 | Swift | 550万円 |
9位 | Perl | 525万円 |
10位 | C | 525万円 |
※2018年発表の言語別の年収中央値(引用:TECH CAMPブログより)
(「Scala」はまだ日本ではマイナーな言語なので一旦今回は除くとして)、Googleが開発した「Go」やAIなどの機械学習に向いている「Python」が上位にランクインしてますね。
さらに、Pythonは日本だけでなく世界中で今大人気の言語です。
つまり、世界中で需要のある言語という証明になります!
このようにエンジニアであれば、他の職業と比べると地方や海外で働くハードルはそこまで高くありません。
なお、アメリカなどの欧米諸国で働けば、日本以上に収入を上げるチャンスも十分にあります!
「収入が高い = 習得難易度の高い言語」
必ずしもこの式が成立するとは限りません。
前述の「初心者でも習得しやすい:JavaScript、PHP、Ruby」で紹介した言語ほどではないものの、PythonやGoはそこまで習得難易度が高いわけではありません。
単純に需要が高いため、比例して収入も高く設定されているだけです。
場所や時間に縛られずに働きたい:JavaScript
「エンジニアは時間や場所にとらわれずに柔軟に働ける!」
このような願望を叶える上で最良の選択と言える言語は「JavaScript」です!
理由は以下の通りです。
- 汎用性が高い!
- 案件数が非常に豊富!
- WEB開発、WEB制作どちらでも対応ができる!
- サーバーサイド言語と比較するとセキュリティ上の問題が起きにくい!
JavaScriptはフロントエンド言語であり、WEB・LP制作であれば1人称ベースでの開発が可能です。
1人称ベースで仕事ができるということは、必ずしも企業のサービス開発に携わる必要がないということです。
企業のサービス開発に関わらないということは、個人事業として仕事を受けるため、自由に時間や場所の指定ができるということです。
反対に、PHPなどのサーバーサイド言語の場合は重要なデータを扱ったり、サーバーの情報などの機密情報も取り扱うため、なかなかオフィス以外で作業することは難しいでしょう。
ただし大前提として、場所や時間にとらわれない働き方をしたいのであれば、それなりのエンジニア歴や実績が必要になってきます。
理由は以下の通りです。
- 未経験者にいきなりフルリモートをさせる企業はほぼない。
- 実績無しの駆け出しエンジニアに案件を任せる人などいない。
転職&案件獲得しやすい:Java、JavaScript、PHP
まずは、言語別の求人数を見てみましょう!
【Java】
【JavaScript】
【PHP】
【Python】
【Ruby】
【Go】
【Swift】
※2022年2月時点 | 引用:IT・WEB特化型転職サイト「Green」より
上記の各言語の求人数を比較してもわかるように、「Java」「JavaScript」「PHP」の求人数が非常に多いです!
求人数が多いということは、下記のようなことが言えます。
- その言語を採用しているサービスが非常に多い!
- サービスが多いためしばらくは求人が減ることはない!
- 需要が高いため、ハイスキルでなくても転職できる可能性が上がる!
特にJavaScriptに関しては、従来までのフロント開発特化型から、バックエンドとの両立型に徐々に移行してます。
つまり、バックエンドエンジニアとしての求人数はこれからさらに増えるということです!
まとめ
- プログラミングを学習する目的によって選択する言語は変わる!
- 現在の自分の状況によって選択する言語が変わる!
- 無目的でプログラミング学習をスタートさせると高確率で挫折する!
- WEB制作に興味があるなら「JavaScript」「PHP」
- 初心者でも習得しやすい言語は「JavaScript」「PHP」「Ruby」
- 収入をより上げたいなら「Go」「Python」
- なるべく場所や時間に縛られずに働きたいなら「JavaScript」
- 転職や案件獲得のハードルを下げたいなら「Java」「JavaScript」「PHP」
この記事が役に立ったらTwitterをフォローしよう!