Save 37% off PRO during our Black Friday Sale! »

Crystal の開発進捗とロードマップ

Crystal の開発進捗とロードマップ

『 東京 Crystal 勉強会 #2 in 渋谷 』 で発表した資料
http://crystal.connpass.com/event/19339/

Crystal 公式サイト (日本語版)
http://ja.crystal-lang.org/

842aaadff6e13fbf372c9b17b49b031c?s=128

Pine Mizune

October 23, 2015
Tweet

Transcript

  1. Crystal - 開発進捗とロードマップ @pine613

  2. プロフィールとか o ID / HN: @pine613 o Crystal-JP 運営 o

    crenv (Crystal Version Manager) 作者 o 趣味で最近かく: JavaScript / Crystal o Mobile Factory, Inc
  3. はじめに Crystal を触ったこと無い方は この機会に是非インストールをお願いします! o インストール方法 crenv / brew /

    apt / yum / pacman / etc ... o 公式ドキュメントの日本語翻訳があります! http://ja.crystal-lang.org/docs/
  4. もくじ 1. Crystal について 2. Crystal の基本機能 3. Crystal の最近の開発状況

    4. Crystal の今後のロードマップ 5. まとめ
  5. Crystal とは ? 5 ◦ 高い表現力 ◦ 高い生産性 × 遅い

    同時に実現 C 言語 Ruby ◦ 非常に高速 × 表現力が乏しい × 生産性が低い
  6. Crystal について 9 Ruby 風のシンタックス 9 型推論ベースの静的言語 9 高速なネイティブコードを出力 9

    最新版: v0.9.0 (2015/10/22 現在)
  7. Crystal の基本機能 1. 基本文法 2. 標準組み込みクラス 3. 標準ライブラリ 4. Ruby

    との文法上の違い
  8. Crystal の基本文法 9 if / unless 9 case ~ when

    9 do ~ end / { ~ } 9 class / module 9 @ / @@ / CONST
  9. Crystal の組み込みクラス 9 Nil 9 Bool 9 Integer 9 Float

    9 Char 9 String 9 Symbol 9 Array 9 Hash 9 Range 9 Regex 9 Tuple 9 Proc etc ...
  10. Crystal の標準ライブラリ 9 IO 9 Socket 9 TCPServer 9 File

    9 Dir 9 JSON 9 XML 9 YAML 9 Markdown 9 Base64 9 OpenSSL 9 Digest 9 OAuth2 etc ...
  11. Ruby との文法上の違い 9 型が存在することに起因するもの 9 型の無い配列・ハッシュが作れない 9 型アノテーション / ジェネリクスの存在

    9 型によるオーバーロードが可能 9 マクロの存在
  12. Crystal の最近の開発状況 9 v0.7.5 (2015/07/31) ← 第 1 回 東京

    Crystal 勉強会 9 v0.8.0 (2015/09/19) 9 v0.9.0 (2015/10/17) ← 第 2 回 東京 Crystal 勉強会 2013 年 2015 年
  13. Crystal の最近の開発状況 1. パッケージマネージャー刷新 2. フォーマッタの組み込み 3. Ruby から移植された問題のある仕様の削除 4.

    ドキュメント生成ツールのデザインの近代化
  14. パッケージマネージャー刷新 9 旧 Projectfile によるパッケージマネージャー → 廃止 9 YAML 設定ベースの

    shards 導入 9 セマンティックバージョニングに基づく 分散型のパッケージマネージャー 9 より実用的に Crystal を利用できるようになった
  15. パッケージマネージャー刷新 9 YAML ベース 9 Git の tag を使った バージョニング

    9 比較演算可能 (例: =>, ~>, < )
  16. フォーマッタの追加 9 コンパイラにフォーマッタが組み込まれた (v0.9.0) 9 crystal tool format コマンドで一括統一 9

    ソースコードのフォーマット自動整形 9 コーディング規約の統一が容易 9 Go 言語の go fmt と同じ
  17. フォーマッタの追加 整形前 整形後

  18. Ruby から移植された仕様の削除 9 length / count 廃止 → size に統一

    9 後置 while / until 削除 → イテレーターを利用 9 8 進数プレフィックス `0` 廃止 → `0o` へ統一 9 StringIO → MemoryIO 9 Time.to_i / Time.to_f → Time.epoch / Time.epoch_f
  19. ドキュメント生成ツールの近代化 以前 (~ v0.7.7) 最新版

  20. Crystal のロードマップ 9 マルチスレッド周り 9 標準ライブラリの充実 9 バグ修正 9 詳細は公式の

    Wiki を参照 9 https://github.com/manastech/crystal/wiki/Roadmap
  21. Crystal 開発資金を募集中 9 募金により v1.0 までの時間が短縮されるかも ??? 9 https://salt.bountysource.com/teams/crystal-lang