Slide 1

Slide 1 text

RubyistがCrystalを 3週間触ってみた @r_takaishi

Slide 2

Slide 2 text

n 高石 / @r_takaishi n 田町から来ました n Ruby, Go, Ansible等 • Rubyは5年ほどプライベート、1年お仕事 n 3週間くらい前からCrystalをさわ り始めました(ミーハー)

Slide 3

Slide 3 text

Crystal n 3週間ほど触って結構気に入っているので紹介します • 数年前に世の中に出たときに一瞬触ってはいる n Rubyメイン、時々Goを書く立場からの感想です

Slide 4

Slide 4 text

What is Crystal? n Ruby風文法 n 静的型付け • 型推論 n マクロ・ジェネリクス • コンパイル時コード生成 n ネイティブコード生成 • Mac, Linux • Windowsはまだ対応していないとのこと https://github.com/crystal-lang/crystal

Slide 5

Slide 5 text

気に入ったところ n 文法は大体Ruby、でも静的型付け n Go-Likeな同梱ツール • deps, docs, spec, format... RubyとGoのいいところ取り

Slide 6

Slide 6 text

文法は大体Ruby、でも静的型付け • ここ数年、ちょっとしたツールをGoで書いたりしていた • 頭の切り替えが必要 • 構文、パラダイム、言語の機能など • Crystalなら切り替えが楽 • Rubyの文法が好きなんだと思う • 型が必須というわけでもないので気楽✌️

Slide 7

Slide 7 text

どちらが3VCZでしょう

Slide 8

Slide 8 text

どちらが3VCZでしょう Ruby (https://github.com/fluent/fluent-logger-ruby) Crystal (https://github.com/takaishi/fluent-logger-crystal)

Slide 9

Slide 9 text

Go (https://github.com/Jxck/goroutine-sample/blob/master/wait.go) Crystal (http://qiita.com/r_takaishi/items/df2ef7085f8fb199b0c5)

Slide 10

Slide 10 text

Goのようなツールが同梱されている • deps:依存ライブラリをダウンロード • docs:ソースコードとコメントからドキュメントを生成 • spec:rspec風のテストフレームワーク • tool format:ソースコードの自動フォーマット

Slide 11

Slide 11 text

ドキュメント&コミュニティ n https://github.com/crystal-lang/crystal • http://crystal-lang.org/docs/ • http://crystal-lang.org/api/ n http://ja.crystal-lang.org

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content