Crystal,ruby,python,go
CrystalDay 11

GitHub からみた Crystal言語とプログラミング言語全体の動向 2017

これは GitHub に対して http://namaristats.com/rankings をすこし別角度で見たものです。

これはCrystal Advent Calendar 2017の投稿です

またこれはCrystal Advent Calendar 2016の投稿の2017年版 です。

ねらいは、2016をご覧ください

私は Crystal言語がとても好きで、動きを眺めています、こういった新しい潮流にある言語が実際どんなポジションに位置するのか、気になり継続して見ています。新しい言語の全般動向もまとめています。

Crystal言語界隈の今年の話題は何といっても、8月TIOBE Index でプログラム言語ランキングで32位に突然現れたことです(12月は24位です!)

7月までは50位から100位のなかに位置しており、原因はTIOBEが喫緊の状態を表していないという評判に対して、検索条件を変更したことが原因です。これには、Crystal 言語関心の人以外も、なんだこの言語は?と大きな議論になりました。それは TIOBE ランキング自体の正確度の議論となり、今でも Rustより Crystalが上位にあるのは、確かに不正確である印象です。しかし、私は2016年よりこの github Top3 を眺めていますが、その中のランクでいえば、Crystal 言語は確かに35位あたりに存在しています! 私は TIOBE のランキングもあながちフロックではないと思っています。

ではgit を眺めてみます。

GitHub の動向を見るのに namaristats.com の Top3 Repos は貴重な情報ですので、今回も GitHub での人気度を示す、Top3 Repos をStar の総数集計でソートしました。

それがこちらです!

今年も、Tiobe や Redmonk とずいぶん違う点があり、
Tiobe や Redmonk よりむしろ実情を表しているように私は感じます。

2017年12月時点の特徴

・Javascriptの Star数があいかわらず急に伸びている、利用がますます拡大している。
・C++ は Tensorflow 人気で再上昇。
・Go が Python と同等のレベルにあるほど Go の認知普及は広まっている。
・Ruby 系統言語(Ruby Coffeescript Groovy)は下降気味。
・Swift は Ruby と同列になったが、TIOBE では不思議な現象が起きており、ランク下降が始まっている、言語のむずかしさが、要素か?
・TypeScript はメジャーに駆け上がっている。その反動かCoffeescript は使命を終え下降。
・Kotlin が急上昇(Google が採用のため今後は大注目)
・Rust が Scala を抜いたが、Kotlin 人気で停滞。また使ってみたが言語が意外と難しく学習しにくいと過去 Scala で起きたことと同様の流れになる懸念意見が出てきた。
・Elixir は Lua と同列まで追いついている、世界中で Elixir Conf が開催されて活発ですが、継続してちょっと息切れ感が..
・Julia, Crystal が R, Groovy,D, Haxe, OPAL を超え、Erlang,Dart と同列に上がっている! Crystalは Juliaより勢いがある。Julia はやはり何故か伸び悩んでいるように見えます(Python 人気の反動 とも言えます)。
・C#, Matlab が拡大。
・下位では RED が評判通り、抜け出てきた。 ELMは評判の割には停滞。

などが特徴です
image.png

*こちらでは GitHubの Star数がどのように増加してきたか履歴を見ることができます。例で Rust、Elixir、Crystal の Star数上昇比較です。

GitHub のなかった2000年代初頭までに提案され普及していったプログラム言語の変遷と、それ以降に現れたプログラム言語は、間違いなく変遷のスピードと拡大の様相が違う時代になりました。

Crystal 言語は、Git上に提案されて未だ5年の若いプログラム言語で、なおかつメジャーな支援企業のないながら、ここまで成長した注目すべき言語といえます。

結論として、Crystal 言語の2017年は、10年後に振り返ってみても、間違いなく飛躍の年と記憶されると思われます。

Crystal 関連リンク

これから Crystal を始める方へ: Crystal 日本語情報まとめ by Pine613 さん

Crystal コミュニテイ

Crystal-JP
Crystal 情報交換用 Slack チーム Crystal-jp
-> 登録:Crystal-jp.slack.com 日本語で Crystal の情報交換を行うチャットルームです。ご自由にお入りください
Gitter Crystal 情報交換用 Crystal-jp
Crystalに関する意見や質問、議論などをする場所

A list of programming languages that are actively developed on GitHub. も参考になります。

こちらでは Crystal は 13番目にランクされています。