令和の時代に突入し、AI、IoT、ビックデータの需要が瞬く間に広がっていく昨今。これからの時代に付いていくためにも、プログラミング言語を学びたいという方も多いのではないでしょうか?
しかし、一口にプログラミング言語と言っても有名な言語だけでも両手で数えきれないほどあり、「何を選べば良いの?」「それぞれどんな特徴があるの?」という疑問を抱いている方もいらっしゃるかと思います。
そこで、ここでは「今需要のあるプログラミング言語」と「将来性のあるプログラミング言語」の2つの観点から、各プログラミング言語の特徴を交えつつご紹介します。
このページを最後まで読めば、今どの言語を学ぶべきかが分かりますよ!
なお、ここでは以下のサイトの人気ランキングを主に参照しています(記事内ではPYPLと呼びます)。
http://pypl.github.io/PYPL.html
上のランキングはGoogleで各プログラミング言語のチュートリアルが検索されている頻度を分析して作成されているので、非常に信頼できるランキングになっています。
目次
需要のあるプログラミング言語 4選
まずは「現時点で需要の高いプログラミング言語」からみていきましょう。
プログラミング言語の世界はその時代に適したものがいくつも登場してきます。しかし、あるプログラミング言語で作られたシステムを別の言語に置き換えるというのは(システムが大きければ大きいほど)非常に難しいことです。
なので、過去急成長したことのあるプログラミング言語は、今も現役で活躍していることが多く、現在最も多くの需要がある言語はそういった特徴を持っています。
とはいえ現在需要のあるプログラミング言語は「その先に生まれた言語に大きな影響を残している」おり、将来性のある新進気鋭の言語を学ぶ前段階としてもしっかりと学んでおく必要があると言えるでしょう。
Java
Javaは古くから使われているプログラミング言語で、1990年12月にサン・マイクロシステムズ社が開発しました。
世界中で900万人以上のプログラマがJavaを使っていて、30億台以上の携帯電話はJavaを使って動かしています(スマホのOSであるAndroidはJavaで開発されています)。
つまり需要がとんでもないんですね。
日本ではiPhoneを使う方が多い印象ですが、実は世界的にはAndroidの方が圧倒的に多く使われています。
まさにプログラミング界の王みたいな存在なのがJavaなんですね。
最近は機械学習や科学計算のし易さからPythonが世界的なブームを巻き起こしていますが、PYPLを見てもわかる通り、まだまだ需要の高いプログラミング言語であると言えます。
特に言語としてしっかりしているので、少々固くてもプログラミング言語をしっかりと学びたい人にとってはおすすめです。
Python
Googleが公開したディープラーニング技術を発端とした近年のAIブームのおかげで瞬く間に急成長したのがPythonです。
PYPLでも圧倒的1位を獲得しており、その需要はさらに高まってきています。
しかし、実はPython自体はそこまで新しい言語という訳ではありません。今の主流であるPythonのバージョンは3ですが、公式のバージョン1.0は1994年1月に公開されています。
Pythonの特徴としては「少ない記述で動かせる」ことにあるのかなと思います。私の体感では先ほど紹介したJavaの書くコードの7〜8割くらいの記述量で同じプログラムが動かせる印象です。
あとは最近のPythonブームで日本語での記事が増えて、初心者の方も学習しやすい言語になったなと思います。中にはディープラーニングを使った株価予測方法を紹介しているような記事もあり、非常に学ぶ価値のある言語です。
しかし、日本は世界的な需要増よりも少し遅れている印象です。フリーランスエンジニアのための求人サイト「レバテックフリーランス」の各言語毎の求人数を見ても、「Java:2263件」「PHP:1427件」と比べてPythonの求人数は「547件」と多くありません(2020/04/04時点)。
https://freelance.levtech.jp/
需要が増加している反面、まだ市場に浸透しきっている訳ではなく、需要と将来性が半々な言語だと言えるでしょう。
?「【初心者向け!】Pythonとは?特徴と基本的な構文 – WebHack」
PHP
PHPは主にWebサイトを作成する際に使われるオープンソースのプログラミング言語です。HTMLにPHPのコードを直接埋め込んで利用できるのが特徴的です。
PYPLでも5位にランクインしており、先ほど紹介したレバテックフリーランスの求人数を見ても分かるとおり、非常に人気も需要も高いプログラミング言語であると言えます。
とにかく覚えることも記述するコード量も少ない言語という印象で、さらにWeb開発特化な言語というこでも需要も安定しているので、「初心者はまずPHPやろう」という声をよく聞きます。
実際私もその考えにはいくらか賛成ですが、「大きいプログラムになればなるほどバグを起こしやすい」とも思っていまして、その点がちょっと注意が必要です。
なので、Webサイトを作るならPHPはすごく役に立ちます。個人でフリーランスエンジニアとして活躍していきたい場合は、PHPを覚えることは一つの選択肢になるでしょう。
?「PHPとは?特徴やできることできないこいを初心者にもわかりやすく徹底解説! – WebHack」
JavaScript
ここまで説明してきた「Java」「Python」「PHP」はどれも「サーバサイド言語」と呼ばれているタイプのプログラミング言語です。サーバサイド言語は「(サイトを提供する)サーバ側で動く言語」です。
それに対してJavaScriptは「クライアントサイド言語」と呼ばれています。クライアントサイド言語はWebサイトに動作を付けたい場合に使われます。
クライアントサイド言語はいくつかありますが、JavaScriptはその中でもぶっちぎりで1番使われており、Web開発には必須というレベルで使われています。Webサイトを作りたい場合、HTML + CSS + PHP + JavaScriptの組み合わせは非常に良くあるパターンで、個人だけでなく企業でもPHPとJavaScriptでWeb開発していることが多いです。
Webサイト作成したい場合は必ず覚える必要のあるプログラミング言語なので、他のサーバサイド言語と平行して覚えていくのも良いかもしれません。
将来性のあるプログラミング言語 3選
次は将来性のあるプログラミング言語について見ていきましょう。
ここで言う将来性のあるプログラミング言語とは「今はそこまで需要がなくても将来的に需要が期待できる言語」を指します。
Go
GoはGoogleが開発したプログラミング言語です。2012年にバージョン1.0が公開されてからものすごい勢いで成長しており、PYPLを見る限りでは前回から3つ順位を上げています。
とにもかくにもシンプルな言語で「本当に必要な機能だけを詰めたプログラミング言語」であることが特徴です。目的を達成するための選択肢を意図的に絞っているので、初心者プログラマも玄人プログラマも同じようなコードになり、コミュニケーションがとりやすいメリットがあります。
補足ですが、GoはよくGolangと呼ばれています。これはGoが文章中に出てくると分かりにくくなるからだそうです。
あのGoogleが開発・公開しているということもあり、信頼性も抜群です。新興言語は淘汰されて残る言語は少ないですが、Goは今後も使われていくのではないかなと思います。
Kotlin
Kotlinはプログラミング言語界の王であるJavaの後継者と言える言語です。
2011年に開発・公開された比較的新しい言語でありながら、PYPLのランキングでは12位に付けており、その勢いから今後もより多くのプログラマに使われるようになっていくと思われます。
「Javaで書いたコードをそのまま取り込んで使うことができる」特徴を持っており、かつ「様々な言語の良いところを抽出して全て詰め込んだ」言語です。
先ほど紹介したGoと正反対で、言語仕様を知れば知るほど上手に、簡潔にプログラムを書けるようになる「上級者向け」です。
しかし、簡単なプログラムなら誰でも書けるくらいの簡単さも併せ持っていると私は思います(正直Javaよりも書きやすい)。
とはいえ1つ目の言語として覚えるのは需要や難易度の面からおすすめできません。第2、第3の言語として覚えるのが丁度良さそうです。
ちょっとした雑学ですが、Kotlinという名前は「やかん」を指すフィンランド語です。Kotlinの昔のロゴはやかんだったんですが、そういった意味がありました。
TypeScript
KotlinはNext Javaだと紹介しましたが、TypeScriptは「Next JavaScript」です。
Microsoft社が開発・公開し、現在はオープンソース化しています。初めて公開されたのは2012年で、GoやKotlinよりも後発なのにも関わらず、PYPLではこの3つの言語の中で一番高い10位にランクインしています。
TypeScriptはAltJSと呼ばれる「JavaScriptより効率的に開発でき、かつコンパイルするとJavaScriptのコードが生成されるプログラミング言語」の一つです。JavaScriptの欠点である「大規模開発に向かない」という問題を解決するために開発されました。
つまりTypeScriptは「JavaScriptの進化版」だと言えます。
JavaScriptと同じような構文で記述できるので、先にJavaScriptを学んでおくことで、比較的容易にTypeScriptを使うことができますよ。
2つのプログラミング言語を学ぶ
ここまで「現在需要のあるプログラミング言語」と「将来的に需要が増えるであろうプログラミング言語」を見てきました。
ここで重要なのは「どの順番に言語を学んでいくか」です。
プログラミング言語はそれぞれ書き方に独自性があったりしますが、大本の部分はあまり変わらないので、1つしっかり覚えたら2つ目は1つ目ほど学習コストがかかりません。
なので、最低でも(JavaScriptを除いて)2つの言語を習得しておくと、仕事に繋がっていくと思います。
まずは今需要のあるプログラミング言語を1つ覚えて、その後将来性のある言語を覚えていくと良いでしょう。
【関連記事】
プログラミング初心者にオススメの言語5つを紹介! – WebHack
プログラミング言語にはどんな種類があるの?有名な8言語を紹介! – WebHack
【よくある疑問】プログラミングはどれくらいの期間で習得できるのか? – WebHack
[初心者向け]独学でできるおすすめのプログラミング学習サイト7選! – WebHack
[未経験でもOK!]フロントエンドエンジニアとは? 必要なスキルや目指す方法を解説 – WebHack