開発者はどんな言語を使っているのか?

吉田 行男

「2017年の人気プログラミング言語」の発表について、その選出基準やランキング結果を詳しく解説した記事です。GitHubからリストアップされた300種以上の言語の中で、ポイント化により上位に輝いたのは「Python」。「C」、「Java」、「C++」、「C#」、「R」、「JavaScript」、「PHP」、「Go」、「Swift」がその次に続きます。開発者の活動状況についても詳細に言及。仕事の一方でゲームを楽しむ開発者が多い一方、週末もコーディングする人が84%と多い事が明らかに。また、使用ツールの調査結果や開発者のライフスタイルについても豊富な情報が盛り込まれています。

こんにちは、日立ソリューションズの吉田です。
今月は、プログラミング言語に関する興味深いレポートが発表されましたので、ご紹介したいと思います。

電気通信分野の標準化団体である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/

<< OpenStackとDockerは実装する段階へ、Dockerコンテナ管理ツールはKubernetesが主流に“Microsoft Loves Linux / OSS”は本当か?(吉田行男 氏) >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解