38
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CrystalAdvent Calendar 2016

Day 19

GitHub からみたプログラミング言語の動向(半年変化をアップデート)

Last updated at Posted at 2016-05-29

これは GitHub に対して http://namaristats.com/rankings をすこし別角度で見たものです。
#2016/12に半年前からの変動を追記しました。これはCrystal Advent Calendar 2016の19日めの修正投稿です。

プログラミング言語が今何が好まれているか? やトレンドを見るのに TIOBE Index は参考になります。
また The RedMonk Programming Language Rankings:も、とても勉強になります。

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

最近のプログラミング言語は、オープンソースが好まれたり、GitHub でプログラム言語の開発自体を進めたり、ライブラリやアプリケーションをコミュニテイで共有して時代や技術の進歩に対応していく動きが活発です。

GitHub の動向を見るのに namaristats.com の Top3 Repos は貴重な情報です。
しかし、このページは、ランキングの変化でソートされておらず、近況が見ずらい状況のままです。

そこで、今回 GitHub での人気度を示す、Top3 Repos をStar の総数集計でソートしてみました。

Top3 Repos のStar 総数は、GitHub 利用の人気近況を表していると考えて、今回ランキングしてみました。Top3 の総数ですので、アプリやライブラリーの利用人気も反映しています。
#それがこちらです!
Tiobe や Redmonk とずいぶん違う点があり、刺激的です!
Star 数ですので、言語が提案され長く使われているほうが有利で数が多くなる傾向は出てしまいます。一方で近況を表す、コミュニテイの共鳴度合いは早く反映されます。
Tiobe や Redmonk よりむしろ実情を表しているように私は感じます。

2016年6月時点の特徴

・Go 言語がすでに Python より上位に表れている。
・Ruby系統言語(Ruby Coffeescript Elixir Groovy)が結構上位に来ている。
・TypeScript は意外と上位の印象。
・Scala, Swift, Rust が同列で競っている*。
・Elixir は Lua と同列まで追いついている。
・Julia, Crystal が R, Mirah, D, Haxe, OPAL を超え、Erlang, Dart, Groovy と同列に上がっている。
・D, C#, F#, Perl6, Dart は意外と低い。
などが特徴です

  • Swift オープンソースコンパイラは C++ で記述されているため、これに Star すると Swift ではなく、c++ に加点されます。これを加味して Swift 加点を修正しています、Swift Top3 は+20000となり Java, Go に肉薄します。こちらのほうが実情を表していそうです。

#2016年12月時点の特徴

・Javascriptの Star数が急に伸びている、理由は調査中ですが、利用が拡大しているのは間違いなし。WebAssemblyの影響か Assembly言語が急上昇。
・Go、Swiftが Python、Rubyに肉薄している。
・Ruby系統言語(Ruby Coffeescript Elixir Groovy)が結構上位にいる。
・TypeScript はますますメジャーに駆け上がっている。
・Rust が Scalaを抜いた。
・Elixir は Lua と同列まで追いついている、がちょっと息切れが..
・Julia, Crystal が R, Dart, Groovy,D, Haxe, OPAL を超え、Erlangと同列に上がっている! Crystalは Juliaより勢いがある。Julia は何故か伸び悩んでいるように見えます。Mirah は開発が Closeした?
・D, C#, F#, Perl6, Dart は意外と低い。Perl6は勢いがつかない。
などが特徴です

#2016/6-2016/12 の半年の変動で見えるプログラム言語の変遷
ほんの半年の間ですが、意外と変化が読み取れます。
まず Star数が全体平均でも2割くらい増加してます。これは Gitを利用する人と文化が相変わらず急拡大を続けていることが見えます。
またS tar数増加が2割から多いか少ないか減っているか、でその言語の動向を読んでみます。

・Star 数が拡大している言語
Javascript, Python, TypeScript, Objective-C++, Assembly, Lua, Elixir, Crystal、IDL、XML、Puppet、ANTLR
(Swift, Go は普通に伸びています、Swiftの学習が難しい反動かわかりませんがObjective-C++が増加しています)

・意外と伸び悩んでいる言語
Ruby系統言語、Rust, Dart, Perl6, Julia、Nimrod、D、C#、F#

・下降している言語
CSS, Java, CoffeeScript, Groovy, Mirah

#2016年は、Web 技術がますます中心になり、また人口知能 (AI)、深層機械学習 DeepLearning が関心が高まるなどで、それらを取り扱いやすい言語が上昇したように取れます。またLLVMも拡大していると見えます。

#GitHub Top3 Star 総数ランキング!
#Crystal言語は 35位です!
(Tiobe Index では 50位から 100位にランクされています)
Jun-16 と Dec-16 の変動順位を示します

image.png

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

#追記 2017/10/1
#2017年 Crystal言語最大のエポックは TIOBE Index に8月32位にランクインしたことです。(現在は31位、7月までは50位から100位表記(実際82位))
これには TIOBE Index 計測方法自体変更の内容賛否両論があります。確かに従来から存在する Crystal Report マクロ言語をカウントに含んでいる懸念があり、フロックかといわれても仕方ありません。しかしそもそも TIOBE Index は計測が非常に保守的で近場の動向を反映しにくい状況が指摘され続けていました。私がカウントした Gitベースの近場の動向では、似た数字の35位であることから、間違った状況とは思っていません。

#Crystal 関連リンク
これから Crystal を始める方へ: Crystal 日本語情報まとめ by Pine613 さん

#Crystal コミュニテイ
Crystal-JP
Crystal 情報交換用 Slack チーム Crystal-jp
-> 登録:Crystal-jp.slack.com 日本語で Crystal の情報交換を行うチャットルームです。ご自由にお入りください
[Gitter Crystal 情報交換用 Crystal-jp]
(https://gitter.im/crystal-jp/issues)
[Crystalに関する意見や質問、議論などをする場所] (https://github.com/crystal-jp/issues)

#A list of programming languages that are actively developed on GitHub. も参考になります。
こちらでは Crystal は 13番目にランクされています。

38
37
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?