LoginSignup
35
35

More than 5 years have passed since last update.

Crystal 言語の 2015年とそれまでの生い立ちを振り返ってみて

Last updated at Posted at 2015-12-29

最近発表されたプログラム言語の中で、Swift, Rustは例外として、驚くほど急上昇しているのはJuliaとElixir、そして Rubyライクな我がCrystal言語だと思います。(日本語Crystal言語
私はToy言語でRubyライクなコンパイラ言語を探していて、TOPAZ, Elixir(昔はReiaの時代もありました)からHaxe, Nim(Nimrod)、Juliaそしてとうとう Crystal言語にたどり着きました。(Toy と言うにはとんでもなくFun でなおかつ強力です。)
Crystal言語ファンには、Crystal言語のこの一年は夢のような広がりの年でした

この記念の一年の変化を記録にして振り返ってみたいと思います。

まず昨年(~2014)までの主要なターニングポイントを少し羅列すると

2012年
9月 GitHub 初コミット、 コンパイラはRubyで記述、”Ruby記述そっくりなのに実行速度が早い”、を目標とした。Manastech社の社内メンバーで立ち上げ、当初からオープンソース化、社内ツールで利用

2013年
2月 *ここからWatch開始
8月 グニャラさん 日本語初解説
11月 Rubyでのコンパイラ記述からCrystal言語で記述のセルフホストが立ち上がった

2014年
コンパイル時間が、コード規模に対し、指数的に増大する傾向のため、特に型推定を容易にするため一部明示的記述を導入、コンパイル速度は3万行のコンパイラ自身10秒で、かつリニアなコンパイル時間を実現
2月 Lynda_ppさん Vim-Crystal 開発開始
3月 STL-Ruby(セントルイス RubyユーザG)でTV遠隔プレゼンでAryさん自身が紹介
6月 Ver 0.1 リリース
9月 WISIT 2014 で作者Ary/Wajさんが紹介
   Kamil Lelonek さん ベルリン Rug:Byで紹介
10月 Twitter #Crystallang 発足
12月 Rubyを尊敬しつつAnother Languageの道を行くクリスマス宣言

そして2015年の状況です

2015年
   Ver 0.61 リリース
1月 RubyHero2014の Sfericさんが Crystal言語を紹介
3月 作者 Aryさんが MatzさんにCrystalドキュメント化でRubyと同じ文法のところのドキュメントを Rubyから転載したいと申し出たところ、"OKです、私も昔 Perlから転載しました"
   Jhassさん Play.crystal-Lang.org を公開、ここからWeb での簡単トライや
    デイスカッション(例 IRC CHAT #crystal-lang)で対象コードを共有しやすくなった。
   ysbaddadenさん Crystalshards でGitライブラリ初公開(自動検索)登録はこの時点約 50
   Twitter:@Crystalshards も公開
4月 作者 Aryさんが Auto-Typeの可能性をエープリルフールで Joke
   Matzさん AryさんのジョークをTweet
   ロシアのkostyaさん Crystal implementations for The Computer Language Benchmarks Gameを公開
   Kostya さん Some benchmarks of different languages も公開
5月 言語仕様のドキュメント化が完成 (従来よりソースコード内にMarkdownでコメントされるためリアルタイムで更新されていた)
   Lynda_ppさん crystalでLisp(MAL)開発開始
   Stefan Willeさん 高速 Redisクライアント公開とベンチマーク
6月 veelengaさん AwesomeCrystal 開設
   Matzさん Crystal を英語Tweet
   Hackernews でブレイク!話題爆発
   Rosylillyさん 日本での勉強会など立ち上げを提案、Pine613さんと立ち上げへ
   Matzさん Lynda_ppさんのCrystal製ezoeコマンドを日本語Tweet ”Crystal すげーっ。”
   トルコのsdogruyolさん Sinatra ライクなkemal 開発開始
7月 Matzさん Mattnさんの Crystalベンチマークを日本語,英語Tweet
   PolyConfで RubyHero2014の Sfericさんが Crystal言語を紹介
   CurryOn (旧RuPy Conference) で作者Ary/Waj さんが紹介
   Crystal-jp発足
   東京Crystal勉強会 第1回(私も参加)
   Rosylillyさん DocCrystalPower-assert 公開
   bountysource 募金 開始
9月 Manas社外からベルリンのJhassさん(学生) フランスのysbaddadenさん
    コミッター参加
   Crystalshards ライブラリ 300 突破、 半年で6倍!
10月 5t111111さん pine613さん Crystal 日本語ドキュメント公開 日本語サイト公開
   Ver 0.9 Crystal-Format 公開、shards内蔵
   東京Crystal勉強会第2回
11月 Aryさん ご結婚
   新婚の忙しさにも新コンパイラ平行開発開始
12月 Crystal Advent Calendar (JP)チャレンジ!
   「20年目のRubyの真実」インタビューで 笹田さん、Matzさんが Crystalに言及
   RubyKaigi2015 Tokyoで Heroku の Will さんが Crystal紹介  こちらyoutube video(英語)
   作者 Future of Crystal BlogCrystal Advent Calendar (JP)に合わせて発表。 5t111111さん日本語翻訳
   Hacker News で プログラム言語の将来として議論のトリガーになった
   ロシア Kostyaさんからプロダクションに採用して1か月ノートラブルで稼働している
     というクリスマスメッセージ!
   Ver 0.10 がクリスマスリリース 新コンパイラ方向へ修正が入る
   フランスの ysbaddadenさんがフルスペックのRuby On Rails ライク frost
     開発者向けクリスマスリリース

GitHub 4000star 突破 !   Crystalshards ライブラリ 450 突破!

QiitaでTag:Crystal 投稿が 80 を突破 !  コントリビュータが110名を突破(日本から5名が連名) !

Rubyistから見た場合は習熟のしやすさも Go や Rust より容易です。Gitのアプリの立ち上がりを見ていると数コミットで動き出す例も多いです。Crystal に次ぐStar数を急上昇で獲得した、Sinatraライクなkemalの作者 sdogruyolさんの ”Why Crystal?"(日本語訳)がそれを述べています。

Crystalは他の新言語と比べて、Rubyを明瞭にレスぺクトしているため、言語仕様の議論が出ても早く決定され、進化が早いです、コンパイラがCrystal自身で書かれセルフホストされていることも要因です。Rubyのテストドリブン文化を重視してRSpecサブセットがコンパイラに内蔵されている点も、安定な進化を強化しています。またライブラリやアプリの導入速度はRuby エコシステムからの流入速度が強く、その上にC/C++ライブラリーのバインデイングが容易であるため、C/C++エコシステムの導入速度も速いという、ダブル良循環が最も回ってる言語のひとつとなってきました!

2016年がたのしみですね

続きをCrystal 言語の 2016年を振り返ってみてに掲載しています。

*英文blogから転載しています
Crystallian という英文での Crystal情報Web も公開しています。こちらもよろしくお願いします。
Crystal Advent Calendar (JP)12月5日も関連記事を書いています。

Crystal 関連リンク

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

Crystal コミュニテイ

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

35
35
0

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
35
35