【この記事を読むのに必要な時間は約 4 分です】
開発言語のトレンド調査としては、オランダの TIOBE 社が公開している TIOBE Programming Community Index (TIOBE PCI) とGoogle によるチュートリアルが検索された回数を元にした PYPL PopularitY of Programming Language index (PYPL)が有名です。
しかし、検索エンジンは初心者や非エンジニアも利用することから人気の傾向を把握するには適しているかもしれませんが、開発者が実際に使用している言語とは傾向が異なるのではないでしょうか?
そこで今回は開発者に人気の Git ホスティングサイトである GitHub でコミットされたライン数と、海外のエンジニア向け Q&A サイト StackOverflow でタグ付けされた数を元に人気言語をチャート化した Programming Language Popularity Chart (PLPC) というサイトをご紹介します。
Programming Language Popularity Chart
TIOBE PCIでは複数の検索エンジン (Google, Bing, Amazon, Wikipedia, Huffington Post, Baidu, Yahoo Japan など) での言語名の検索回数 、 PYPL では Google でチュートリアルが検索された回数を元に独自の重み付けをしてランキング化しています。
それに対し、Programming Language Popularity Chart (PLPC) では GitHub でコミットされたライン数と質問サイト StackOverflow でタグ数を集計しており、開発者により書かれたコード、開発時に生じた疑問が反映されている点でより実際の使用状況に近い値が出ているのではと期待できます。
PLPC の集計結果は以下のようなチャートで表され、縦軸が StackOverflow のタグ数、横軸が GitHub でコミットされたライン数になります。
2013年10月の各サイトの人気言語比較
では、集計方法が異なるとどのような差異が出るのか、各サイトの 2013年10月のデータを元に比較してみたいと思います。以下が各言語におけるサイト別のインデックス (%) を20位まで比較した表になります。
言語 | TIOBE PCI | PYPL | PLPC |
---|---|---|---|
C | 17.24 | 8.4 | 3.35 |
Java | 16.10 | 26.8 | 14.92 |
Objective-C | 8.99 | 8.1 | 4.58 |
C++ | 8.66 | 9.1 | 7.03 |
PHP | 6.09 | 13.2 | 13.74 |
C# | 5.71 | 9.5 | 15.93 |
(Visual) Basic | 4.81 | 3.1 | 0.16 |
Python | 3.10 | 9.8 | 6.92 |
Transact-SQL | 2.62 | - | - |
JavaScript | 2.03 | 7.6 | 14.16 |
Visual Basic .NET | 1.93 | - | - |
Perl | 1.60 | - | 0.94 |
Ruby | 1.24 | 2.6 | 2.54 |
Pascal | 0.75 | - | 0.02 |
PL/SQL | 0.73 | - | - |
CSS | - | - | 4.99 |
XML | - | - | 2.19 |
R | 0.55 | - | 1.2 |
Matlab | 0.61 | - | 0.72 |
Delphi | 0.70 | - | 0.69 |
いかがでしょうか。TIOBE PCI で 1 位の C言語は PLPC で 9 位、 PYPL では 6 位になるなど、集計元によりかなり差の出る結果となりました。
TIOBE PCI がどのような重みづけをしているのかわかりませんが、Objective-C、C++、C# についての検索が C言語として一部カウントされているのではないか、という疑問があります (ベースとなる C言語の知識がいるから結果に含まれてもいい、という訳にはいきません)。
PLPC で 1 位の C# ですが、StackOverflow でのタグ数は 1 位ながら GitHub でのコミットライン数は 10 億行と 3位の JavaScript の 85 億行の 1/8 以下に過ぎず、こちらも集計方法には疑問が残ります。PYPL では Java が大差の 1 位、2 位が PHP と大衆化した言語が強い印象があります。
開発者が実際に使用している言語、という意味では PYPL が実態に近いように感じました。Github についてですが、国内においてエンタープライズ向けのコードはオンライン管理が嫌われること、同じ処理をしても言語により差異が出ることを考慮しても、開発者によって書かれたコード数が見えるという点で興味深い値です。ウェブサービスや OSS の傾向が出やすいのかもしれません。
いずれのサイトも毎月更新されているようですので、興味のある方は定期観測してみると面白いと思います。