プログラミング言語の人気ランキングを発表している有名サービス3つの情報をまとめてみました。
どのプログラミング言語を学べばいいのか、私はひたすら悩み続けているのですが、選ぶときの一つの指標になるかと思いまして。
ちなみに、世界には8000種類くらいのプログラミング言語があるとも言われてるらしいです。多すいですね。
ただし、実際に多くのシステムで広く使われている言語となると、20~30種類くらいに一気に減るとのこと。
そうなると、プログラミング言語の人気ランキングは、とりあえずはその20~30種類の中でもさらに人気のあるプログラミング言語はなにかということになる気がしますが……、
学ぶべきプログラミング言語を選ぶ指標として考えれば、細かいランキングよりも安定してランキング表に入っているかどうかくらいの見方をするべきなのかと思います。
目次
TIOBEによるプログラミング言語の人気ランキング
TIOBEは、GoogleやYahoo、Bingなどの「検索エンジンでのトレンド」を計測してランキングを発表しています。
2015 | 2016 | 2017 | 前年比 | プログラミング言語 | Ratings | Change |
---|---|---|---|---|---|---|
1 | 1 | 1 | Java | 12.687% | -5.55% | |
2 | 2 | 2 | C | 7.382% | -3.57% | |
3 | 3 | 3 | C++ | 5.565% | -1.09% | |
4 | 4 | 4 | C# | 4.779% | -0.71% | |
5 | 5 | 5 | Python | 2.983% | -1.32% | |
7 | 7 | 6 | PHP | 2.210% | -0.64% | |
9 | 6 | 7 | JavaScript | 2.017% | -0.91% | |
8 | 9 | 8 | Visual Basic .NET | 1.982% | -0.36% | |
11 | 10 | 9 | Perl | 1.952% | -0.38% | |
12 | 12 | 10 | Ruby | 1.933% | -0.03% | |
18 | 18 | 11 | R | 1.816% | +0.13% | |
11 | 11 | 12 | Delphi/Object Pascal | 1.782% | -0.39% | |
13 | 13 | 13 | Swift | 1.765% | -0.17% | |
1 | 17 | 14 | Visual Basic | 1.751% | -0.01% | |
12 | 8 | 15 | Assembly language | 1.639% | -0.78% | |
15 | 16 | MATLAB | 1.630% | -0.20% | ||
19 | 19 | 17 | Go | 1.567% | -0.06% | |
14 | 18 | Objective-C | 1.509% | -0.34% | ||
20 | 20 | 19 | PL/SQL | 1.484% | +0.04% | |
26 | 20 | Scratch | 1.376% | +0.54% |
(出典:TIOBE)
ただ、TIOBEはTIOBE Indexはあまり参考にすべきでないという記事によると、あんまり参考にならないということが書かれています。
理由としては、ざっくりで言うと、「検索エンジンに対して、そのプログラミン言語名の単語が何回検索されたのかを指標にしている」ので、必ずしも意味のある検索に使われているとは言えない、どのくらいの職の募集があるのかや、ネット上でその言語のコードが活発にあるか、質問があるかといった、人気を計るのに重要そうな指標に関して考えられていないということです。
私も確かに一理あるかなと思います。実際に過去のデータを眺めていると、1カ月の間で順位が激変するという動きがいくつか見られましたし、人気ランキングとしては不純度が高いかもしれません。
この図も、上位2つの言語のパーセンテージが大きく下がっているのに、かといって他の言語が大きく上がっているわけではないですし、人気の指標としては首をかしげる不思議な動きをしています。
ただ、それでも、「よく検索されている」という順位は表しているかと思いますので、眺めるのはいいんじゃないかなと思います。
TIOBEの対象としているプログラミング言語とはなにか、この人気ランキングの指標は何かについては公表されているので詳しく気になる方は見てください。
RedMonkによるプログラミング言語の人気ランキング
RedMonkは、GitHub(コード保存サイト)における利用実態やStackOverflow(質問サイト)における質問数などに着目した計測でランキングを発表しています。
TIOBEよりも、プラグラミング言語の人気度の指標に考慮されている感じですね。
2015 | 2016 | 2017 |
プログラミング言語 |
1 | 1 | 1 | JavaScript |
2 | 2 | 2 | Java |
4 | 4 | 3 | Python |
3 | 3 | 4 | PHP |
5 | 5 | 5 | C# |
5 | 5 | 6 | C++ |
8 | 8 | 7 | CSS |
5 | 5 | 8 | Ruby |
9 | 9 | 9 | C |
10 | 10 | 10 | Objective-C |
18 | 17 | 11 | Swift |
11 | 11 | 12 | Shell |
14 | 14 | 12 | Scala |
13 | 12 | 14 | R |
15 | 15 | 15 | Go |
11 | 13 | 16 | Perl |
17 | TypeScript | ||
18 | PowerShell | ||
15 | 16 | 19 | Haskell |
20 | CoffeeScript | ||
20 | Lua | ||
17 | 18 | 20 | Matlab |
19 | 19 | Visual Basic | |
19 | 20 | Clojure | |
19 | 20 | Groovy |
(出典:The RedMonk Programming Language Rankings)
やっぱり、このランキングがどういうものなのか詳しいことが気になる方は出典元サイトへ行ってみてください。
IEEE Spectrumによるプログラミング言語の人気ランキング
最後に、IEEE(電気通信関係の規格の標準化とかをやってくれている団体)が公表しているプログラミング言語に関するランキングです。
プラグラミング言語の人気度の指標として、検索エンジンへの検索回数、GitHubにおける利用実態やStackOverflowにおける質問数だけでなく、求職サイトでの求人数、ITニュースサイトでの投稿数など、12のソース情報にそれぞれ重み付けをしてランキング評価しています。
プラグラミング言語の人気度の指標として一番考えられており、使えるような感じです。
しかも、重み付けも自分好みでカスタマイズできますし、過去年度との比較もできるようになっていて、ちょっと面白いです。気になった方は出典サイトで試してみてください。
2015 | 2016 | 2017 |
プログラミング言語 |
4 | 3 | 1 | Pytohn |
2 | 1 | 2 | C |
1 | 2 | 3 | Java |
3 | 4 | 4 | C++ |
5 | 6 | 5 | C# |
7 | 5 | 6 | R |
8 | 8 | 7 | JavaScript |
6 | 7 | 8 | PHP |
15 | 10 | 9 | Go |
17 | 3 | 10 | Swift |
16 | 11 | 11 | Arduino |
9 | 9 | 12 | Ruby |
12 | 12 | 13 | Assembly |
18 | 16 | 14 | Scala |
10 | 14 | 15 | Matlab |
19 | 15 | 16 | HTML |
11 | 19 | 17 | Shell |
13 | 17 | 18 | Perl |
14 | 18 | 19 | Visual Basic |
22 | 21 | 20 | Cuda |
20 | 20 | Objective-C |
(出典:IEEE Spectrum)
この表のランキグはデフォルトの重み付けであるIEEE Spectrumによる各年度の人気ランキングを表しています。
トップランキングではPythonが上がって、Cが変わらずで、Javaが下がったという状況ですね。
ちなみに2017年度は、トレンドではPythonが1番で、ジョブではJavaが一番となっていました。いつかジョブでもPythonが1番になったりするのでしょうかね。どうなんでしょう。
Javaしか知らない私からすれば、Javaには頑張ってもらいたいところですが……。
プログラミング言語の人気ランキングの情報をまとめて見比べてみて
人気ランキングの出し方に違いはあれど、ここ数年だけ見れば、どのランキングで見比べても上位のプログラミング言語の順位に大きな変動は見られないですね。
ランキング上位のプログラミング言語は、それぞれ得意分野というか使われる理由が確立されている言語ばかりですし、すでにその言語で作られた資産も膨大ですし、大きな技術変革や新しい分野でも出てこない限り、わざわざその言語を捨てる理由はないですから、プログラミング言語の人気がいきなり変動するということは考えにくいですね、という普通の結論です。
いきなり廃れることは考えにくいということで、人気のプログラミング言語の中から自分のやりたいことに合ったプログラミング言語を選べばいいということ、かなと思いました。