こんにちは、日立ソリューションズの吉田です。
今月は、プログラミング言語に関する興味深いレポートが発表されましたので、ご紹介したいと思います。
電気通信分野の標準化団体であるIEEE(アイトリプルイー)が発行するオンラインマガジン「IEEE Spectrum」が、「The 2017 Top Programming Languages(*1)」を7月18日に発表しました。
「IEEE Spectrum」によると、人気のプログラミング言語を決めるために、まずGitHubで使われている300種類以上のプログラミング言語をリストアップし、それをすべてGoogle検索にかけ、件数が多い48種類に絞り込みました。そして、その48種類のプログラミング言語について、Google検索、Google TrendsやTwitter、GitHub、Stack Overflow、Reddit、Hacker News、CareerBuilder、Dice、IEEE Xplore Digital Libraryなど10種類の情報源から12種類のメトリクスを算出、それらを総合的にポイント化しました。
その結果、2017年現在、もっとも人気のあるプログラミング言語は「Python」で、2位以下は「C」、「Java」、「C++」、「C#」、「R」、「JavaScript」、「PHP」、「Go」、「Swift」ということになりました。「Python」は、昨年の2位からランクアップしていて、深層学習用のフレームワーク等で活用されるケースが増えてきているので、このような結果になったではないでしょうか?
これらの調査結果は、「Web」「Mobile」「Enterprise」「Embedded」の4つの分野でのランキングで、もう少し分野を絞ると違った結果になるのでしょうか?そのような視点で見直してみると、「Web」と「Enterprise」、「Mobile」と「Embedded」という大きく2つの分野に分けてもよさそうです。「Web」と「Enterprise」の領域では、全体のランキングと同じ内容になっていますが、「Mobile」と「Embedded」では、少し様子が違っていて、「C」や「C++」、「Assebly」などが上位に顔を出しています。このように、どの領域で活用するかによって、プログラミング言語のランキングは変化するようです。
また、プラハに本社を置くJetBrains,s.r.oが「The State of Developer Ecosystem in 2017(*2)」という調査結果を公表しています。この調査は、2016年後半から2017年の前半にかけて、5,000人以上の開発者を調査して結果です。こちらの調査では、よく使用されている言語は、1位から「JavaScript」、「HTML/CSS」「Java」と続くので、上記の調査結果とは違った結果になっています。この調査の特徴は、使用している言語だけではなく、ツールの活用状況や開発者の日常についても調査しており、興味深い結果になっています。
65%の開発者がビデオゲームを楽しんでおり、ロールプレイングやアクションアドベンチャーものを好んでいるようです。また、睡眠時間は7から8時間が約半数と健康的な生活を送っているようにみえます。とはいえ、週末にコーディングしている開発者は84%もおり、リフレッシュできているか微妙なところです。
継続的インテグレーション(CI)ツールは、「Jenkins」がもっとも多くの開発者が使用しており、37%の開発者がクラウド上で活用しています。課題管理(Issue Tracking)ツールは、「JIRA」がもっとも多く、CIツールと同様に38%がクラウドで活用しています。バージョン管理システムは、「Git」が79%と圧倒的な強さを見せています。また、構成管理ツールに関しては、約半数が使用しておらず、「Ansible(16%)」、「Chef(9%)」、「Puppet(9%)」の利用は、まだまだ進んでいないようです。
この現状を見ると開発系はツールの活用がクラウドを含めて進んでいるようにみえますが、構成管理などがまだまだ進んでおらず、DevOpsは「未だ」といった印象です。
また、現在使用しているDBMSは、「MySQL」が圧倒的に多く、「PostgreSQL」「SQLite」「MongoDB」と続いていますが、6ヶ月以内に採用したいDBMSでは、「MongoDB」が1位となっており、「MongoDB」への関心が高いことがわかります。
ここまでいろいろ紹介してきましたが、これらは欧米を中心とした調査結果です。したがって、その結果がそのまま日本の現状にあてはめて、お話しすることは適切ではないと思いますが、多少は参考になると思いますので、元の資料にご覧頂くと良いと思います。
(*)本文中記載の会社名、商品名、ロゴは各社の商標、または登録商標です。
(*1) http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017
(*2)https://www.jetbrains.com/research/devecosystem-2017/