言語別プログラマー数の傾向を知りたかったのでgithubで検索してみた

言語別で何人くらいプログラマーがいるのか知りたくなったので、githubで検索してまとめてみた。
最初、github APIで集計しようと思いスクリプトを書き始めたのだけど、検索APIが1分間に5回制限だったり期間指定で言語を横断して検索するオプションが無かったりして面倒になってきたので、愚直に検索を18回して手でまとめた。

検索方法は、githubの[Advanced Code Search](https://github.com/search/advanced)から、Created on the datesだけ指定して検索。
結果画面のUsersを選択すると、Languages欄に言語別のユーザー数が表示される。
![スクリーンショット 2014-07-07 11.14.02.png](https://qiita-image-store.s3.amazonaws.com/0/8748/790b05fb-3638-e560-689d-d4a9cd034d0e.png)

【20140724訂正】
~~これで指定した期間にgithubに登録したユーザー数を言語別に集計できる、と思われる。~~

これで指定した期間にGithubに登録したユーザーを集計することができる。
この時ユーザーに紐づく言語は、ユーザーが持つ特定の言語のレポジトリの中で最も多い言語となる。
Languages欄には、ユーザに紐づく言語ごとにユーザー数がカウントされた数字が表示される。
これにより、ざっくりと言語別ユーザー数をカウントすることができる。

ちなみにuser:kinukawa created:2009-08-18で検索すると、UsersにはObjective-Cのみ表示され、自分1人がヒットする。

# 結果

|言語|	2013/1|	2013/2 |2013/3|2013/4|	2013/5|2013/6|	2013/7	|2013/8	|2013/9	|2013/10|2013/11|2013/12|2014/1|2014/2|2014/3|2014/4|2014/5|2014/6|
|:---|-------:|-------:|------:|------:|------:|-----:|-------:|-------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|
|JavaScript|14,768|	13,433|	15,142|	13,971|	13,272|	16,384|	14,046|	11,212|	11,886|	12,430|	11,353|	8,801|	10,752|	10,160|	10,643|	9,579|	8,796|	7,113|
|Java|	11,830|	10,835|	12,985|	11,671|	10,572|	9,275|	10,579|	9,960|	10,777|	11,817|	10,387|	9,179|	11,469|	11,475|	11,655|	10,561|	9,767|	6,883|
|PHP|	7,009|	6,411|	6,896|	6,456|	5,881|	5,435|	6,252|	5,543|	5,560|	5,868|	5,342|	4,482|	5,715|	5,263|	5,330|	4,836|	4,304|	3,372|
|Python|5,432|	6,411|	5,607|	5,079|	4,952|	4,563|	4,984|	5,079|	4,819|	5,199|	4,397|	3,815|	5,025|	4,729|	4,849|	4,804|	4,107|	3,123|
|Ruby|	5,398|	5,325|	5,964|	5,277|	4,728|	4,568|	4,814|	4,906|	4,199|	4,427|	3,877|	3,419|	3,891|	3,720|	3,762|	3,649|	3,270|	2,691|
|C++|	4,092|	3,321|	3,856|	3,608|	3,225|	3,103|	3,527|	3,480|	3,766|	4,118|	3,500|	3,109|	3,754|	3,219|	3,949|	3,598|	3,110|	2,407|
|C|	4,073|	3,409|	3,960|	3,729|	3,311|	2,885|	3,564|	4,516|	3,629|	3,824|	3,494|	3,063|	3,739|	3,516|	3,502|	3,331|	2,817|	2,452|
|C#|	2,719|	2,608|	2,796|	2,656|	2,571|	2,210|	2,579|	2,431|	2,601|	2,715|	2,485|	1,972|	2,469|	2,457|	2,735|	2,391|	2,287|	1,806|
|Objective-C|	2,381|	2,025|	2,276|	2,182|	1,972|	1,837|	2,234|	1,978|	1,810|	1,924|	1,658|	1,461|	1,685|	1,642|	1,785|	1,577|	1,506|	1,064|
|CSS|	1,496|	1,391|	1,621|	1,658|	1,804|	1,820|	2,399|	4,630|	5,233|	5,793|	4,748|	4,031|	5,898|	5,738|	6,992|	8,215|	6,565|	5,130|
|合計|	59,198|	55,169|	61,103|	56,287|	52,288|	52,080|	54,978|	53,735|	54,280|	58,115|	51,241|	43,332|	54,397|	51,919|	55,202|	52,541|	46,529|	36,041|

![user-language.png](https://qiita-image-store.s3.amazonaws.com/0/8748/6e94906f-2183-a269-4fa3-f37bef973c6f.png)

対象としている言語は、2013年1月を検索した際に表示された10種類。
おそらく数の多い順。
この10種類は2014年3月までは変化なしだったが、2014年4月以降はRがランクインしておりObjective-Cが追い出されている。悲しい。

# 追記
なんでPerlとかGoが無いのかというと、単純に人数が少なく2013年1月のTop10に入って無いからです。
[created:2013-01-01..2013-01-31でPerlの人を調べると482人でした。](https://github.com/search?l=Perl&q=created%3A2013-01-01..2013-01-31&ref=advsearch&type=Users)

【20140724訂正】
~~どういう原理でユーザーと言語が紐付いているのかはちょっと不明です。~~
~~リポジトリ数で調べると結果は大きく変わるんじゃないでしょうか。~~
[この時ユーザーに紐づく言語は、ユーザーが持つ特定の言語のレポジトリの中で最も多い言語となるみたいです。](https://help.github.com/articles/searching-users#language)
指摘を頂きましたので訂正します。ありがとうございました。