(この記事は 地平線に行く とのマルチポストです)
Stack Overflow の質問には、その内容を示すタグが付与されています。
このタグ、よく見ると「言語」+ 「フレームワークやライブラリの名称」という構成が多いです。
つまり、これを分析すれば、言語ごとに質問の多い(つまり、よく使われている、人気がある)フレームワークやライブラリが何か分かるのではないでしょうか。
そこで今回は、kaggle で公開されていた Stack Overflow Data 12をもとに、質問に付与されたタグの出現回数を言語ごと×1年ごとに集計し、ランキングを算出しました。
より詳細なデータは こちら。
解析結果
それぞれの言語ごとに、簡単な概要と解析結果(年度ごとのタグ出現回数ランキング)をまとめました。
Java
- Spring Boot が登場3と同時に急上昇
- ORM マッパは依然 Hibernate が上位
- Swing の順位が低下すると入れ替えに、Java FX が上昇
タグ | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 |
---|---|---|---|---|---|---|---|---|---|---|
android | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 20 |
spring | 2 | 2 | 2 | 2 | 3 | 4 | 4 | 4 | 4 | 4 |
spring-boot | 3 | 3 | 13 | 33 | 145 | 1567 | 10490 | 8932 | 6891 | 4822 |
hibernate | 4 | 4 | 4 | 6 | 6 | 6 | 5 | 5 | 3 | 2 |
maven | 5 | 5 | 7 | 7 | 7 | 12 | 15 | 22 | 87 | 498 |
arrays | 6 | 6 | 5 | 5 | 5 | 5 | 11 | 12 | 24 | 26 |
json | 7 | 8 | 8 | 8 | 12 | 11 | 18 | 28 | 59 | 174 |
javafx | 8 | 13 | 14 | 19 | 29 | 72 | 160 | 595 | 422 | 295 |
eclipse | 9 | 9 | 6 | 4 | 4 | 3 | 3 | 3 | 5 | 3 |
swing | 10 | 7 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 1 |
Go
- 基本的な言語仕様に関するタグが多い
- Docker や MongoDB といったモダンな技術の組合わせが多い
- ORM マッパーは GORM が人気
タグ | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 |
---|---|---|---|---|---|---|---|---|---|---|
json | 1 | 1 | 1 | 1 | 1 | 2 | 7 | 20 | 19 | 16 |
struct | 2 | 2 | 3 | 3 | 3 | 9 | 4 | 45 | 9 | 92 |
http | 3 | 3 | 2 | 4 | 4 | 3 | 7 | 2 | 44 | 92 |
goroutine | 4 | 4 | 6 | 6 | 5 | 4 | 14 | 3 | 2 | 1 |
docker | 5 | 6 | 16 | 33 | 48 | 173 | 567 | 283 | 130 | 92 |
mongodb | 6 | 7 | 5 | 7 | 8 | 23 | 23 | 82 | 130 | 92 |
slice | 7 | 5 | 7 | 5 | 19 | 7 | 18 | 10 | 19 | 92 |
concurrency | 8 | 9 | 10 | 10 | 7 | 5 | 2 | 5 | 44 | 7 |
arrays | 9 | 9 | 8 | 7 | 16 | 17 | 23 | 13 | 2 | 92 |
go-gorm | 10 | 19 | 27 | 47 | 163 | 858 | 567 | 283 | 130 | 92 |
Python
- 2016 年に Python3.x が Python-2.7 を上回った
- Python 3.0 が2008年登場ということを考えるとかなり遅い
- 機械学習や計算ライブラリの質問が多言語に比べ多い
- Django (Webアプリケーションライブラリ) が一貫して上位にいる
タグ | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 |
---|---|---|---|---|---|---|---|---|---|---|
python-3.x | 1 | 1 | 3 | 4 | 5 | 4 | 6 | 7 | 18 | 21 |
pandas | 2 | 2 | 2 | 3 | 4 | 6 | 20 | 1055 | 4807 | 3368 |
django | 3 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
numpy | 4 | 5 | 5 | 5 | 3 | 3 | 2 | 4 | 6 | 16 |
tensorflow | 5 | 9 | 18 | 251 | 9023 | 5310 | 7081 | 6103 | 4807 | 3368 |
dataframe | 6 | 6 | 9 | 23 | 55 | 93 | 251 | 2258 | 2827 | 3368 |
python-2.7 | 7 | 4 | 4 | 2 | 2 | 2 | 4 | 78 | 314 | 850 |
matplotlib | 8 | 7 | 7 | 7 | 7 | 8 | 8 | 8 | 21 | 54 |
list | 9 | 8 | 6 | 6 | 6 | 5 | 3 | 3 | 4 | 3 |
flask | 10 | 14 | 11 | 10 | 11 | 13 | 12 | 74 | 259 | 3368 |
PHP
- Laravel タグが急上昇
- 全体的に Web 関連のタグがとても多い
- Codeigniter が10年間安定した順位を保っている
タグ | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 |
---|---|---|---|---|---|---|---|---|---|---|
laravel | 1 | 2 | 4 | 6 | 9 | 19 | 195 | 3248 | 5129 | 3341 |
mysql | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
javascript | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
wordpress | 4 | 6 | 6 | 5 | 7 | 8 | 9 | 11 | 10 | 19 |
html | 5 | 4 | 3 | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
jquery | 6 | 5 | 5 | 4 | 4 | 4 | 3 | 3 | 4 | 6 |
ajax | 7 | 8 | 8 | 8 | 8 | 6 | 6 | 6 | 8 | 8 |
arrays | 8 | 7 | 7 | 7 | 6 | 5 | 5 | 5 | 5 | 7 |
codeigniter | 9 | 9 | 9 | 9 | 10 | 9 | 7 | 7 | 9 | 16 |
sql | 10 | 13 | 12 | 12 | 5 | 7 | 8 | 9 | 11 | 9 |
Ruby
- Ruby on rails が各バージョンごとにランクイン4
- テストフレームワーク (RSpec) やパッケージ管理 (RubyGems) が入っているのが特徴的
- 他言語と異なり、MySQL より PostgreSQL の方が上位
タグ | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 |
---|---|---|---|---|---|---|---|---|---|---|
ruby-on-rails | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
ruby-on-rails-5 | 2 | 3 | 13 | 635 | 3910 | 3822 | 3612 | 3206 | 2469 | 1702 |
rubygems | 3 | 6 | 5 | 15 | 16 | 11 | 8 | 3 | 2 | 3 |
ruby-on-rails-4 | 4 | 2 | 2 | 2 | 2 | 3 | 1218 | 1307 | 1284 | 908 |
activerecord | 5 | 5 | 4 | 5 | 6 | 5 | 3 | 4 | 3 | 2 |
rspec | 6 | 7 | 3 | 6 | 4 | 4 | 5 | 7 | 9 | 15 |
arrays | 7 | 4 | 6 | 4 | 5 | 7 | 10 | 9 | 7 | 5 |
javascript | 8 | 9 | 8 | 8 | 9 | 16 | 16 | 14 | 15 | 25 |
postgresql | 9 | 11 | 12 | 13 | 15 | 24 | 34 | 63 | 88 | 132 |
ruby-on-rails-3 | 10 | 8 | 7 | 3 | 3 | 2 | 2 | 2 | 4 | 588 |
JavaScript
- ライブラリは jQuery, React.js, Angurlar の順にランクイン
- Node.js は毎年順位が上がってきている
- Ajax が下がってきている(当たり前に使えるようになった?)
タグ | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 |
---|---|---|---|---|---|---|---|---|---|---|
jquery | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
html | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
reactjs | 3 | 6 | 9 | 15 | 111 | 942 | 7551 | 6176 | 4367 | 2899 |
node.js | 4 | 4 | 5 | 6 | 7 | 9 | 9 | 15 | 48 | 491 |
css | 5 | 3 | 4 | 4 | 3 | 3 | 4 | 4 | 5 | 5 |
angular | 6 | 11 | 13 | 239 | 6645 | 8935 | 7551 | 6176 | 4367 | 2899 |
php | 7 | 7 | 6 | 5 | 5 | 4 | 3 | 3 | 3 | 6 |
arrays | 8 | 9 | 10 | 10 | 10 | 12 | 17 | 17 | 19 | 21 |
ajax | 9 | 8 | 7 | 7 | 6 | 5 | 5 | 5 | 4 | 3 |
typescript | 10 | 12 | 17 | 71 | 134 | 158 | 256 | 6176 | 4367 | 2899 |
SQL
- SQL Server が予想外の1位
- T-SQL 5も7位につけているところを見ると、意外と使われているっぽい
- Oracle も安定して上位
- 言語仕様に関するものでは Join がランクイン
タグ | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 |
---|---|---|---|---|---|---|---|---|---|---|
sql-server | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1 |
mysql | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 2 | 2 |
oracle | 3 | 3 | 3 | 3 | 4 | 4 | 5 | 7 | 6 | 5 |
postgresql | 4 | 4 | 6 | 6 | 8 | 9 | 9 | 11 | 10 | 17 |
php | 5 | 5 | 4 | 4 | 3 | 3 | 4 | 4 | 9 | 8 |
database | 6 | 6 | 5 | 5 | 6 | 6 | 6 | 6 | 5 | 6 |
tsql | 7 | 7 | 7 | 8 | 9 | 8 | 7 | 5 | 3 | 3 |
c# | 8 | 8 | 8 | 7 | 5 | 7 | 8 | 8 | 7 | 7 |
java | 9 | 11 | 10 | 10 | 10 | 10 | 11 | 13 | 17 | 20 |
join | 10 | 10 | 11 | 11 | 11 | 11 | 10 | 12 | 12 | 13 |
おわりに
当然の結果にだったものもあれば意外な結果だったものも多数あるのではないでしょうか。
元データの方では、上位30位まで見れますので興味があれば合わせてご覧ください。
Tag trends by language for Stack Overflow | Kaggle