Crystal勉強会 in 渋谷 を開催しました
この記事は、 Crystal Advent Calendar 2016 の1日目の記事です。
先日、Crystal言語の勉強会を開催しました。Crystal言語が好き過ぎて、勢いに乗って開催まで進んだ形です。参加された方、準備を手伝ってくださった方、みなさんどうもありがとうございました。
準備完了です! #crystaljp pic.twitter.com/ZBQSYRGCzm
— at_grandpa (@at_grandpa) November 29, 2016
内容紹介
自分のイントロダクションの発表から始まり、Talk枠2つ、LT枠4つという内容です。 connpassの資料一覧 に全て載っていますが、こちらでも簡単にご紹介します。
イントロダクション
www.slideshare.net
- 0.20.0 release !!
- どんな言語?
- Crystalの歴史
- Crystalの周辺
- 勉強会の発端
簡単な歴史やCrystalの情報を得られるサービスの紹介などを話しました。発表していると、「一次情報は Google Groups じゃないかなー」 という勉強会らしい会話もありました。
Talk1. What's Crystal?
- Crystal言語はこうして生まれたのでは?という妄想
- Crystalの言語仕様について
- 実用事例
@maiha さんによる発表です。「Crystalはこうして生まれたのでは?」という@maihaさんの妄想を、とてもおもしろく話してくださいました。言語仕様についてもわかりやすく解説していただき大変勉強になりました。
@maihaさんは、事前のアンケートで「言語仕様/実用事例」の希望が多かったことを踏まえて資料を作ってくださいました。ありがとうございました。
また、CrystalのContributorの方でもあり、gitterなどでいろいろと議論に参加されています。
Talk2. C Compiler in Crystal on Compile Time
@make_now_just さんによる発表です。@make_now_justさんは以下の記事でもおなじみですね!
@make_now_justさんも@maihaさんと同じく Crystal の Contributor であり、PRのmergeも多くされています。
今回の内容は「Crystalのコンパイル時に動くCコンパイラ」の話でした。Crystalの機能である macro は、コンパイル時に実行され、その結果を踏まえてCrystalのコードがコンパイルされます。この「コンパイル時に実行され」の部分でCコンパイラを動かそう、という試みです。結果はどうなったのか、ぜひ内容を御覧ください。
LT
LTは4枠でした。
- Crystalにプルリクテロ - @taichiro_dev
- Crystalを触り始めてから起こったこと - @at_grandpa
- ドキュメント翻訳懺悔のLT ~進捗ダメです~ - @5t111111
- Crystalで殺せ - @ne_sachirou
発表してくださった方々、ありがとうございました。下記資料にもありますのでぜひ御覧ください。
懇親会
ピザと寿司を囲み、さまざまな話がされてとても盛り上がりました。
- Crystalの良いと思うところ
- 書きやすい
- 型制約はやっぱり安心感ある
- macro便利
- Crystalのもうちょっとなとこ
- 方針が統一されていない部分があるかも
- 破壊的変更がまだまだある(まぁ仕方ない)
- 並列実行に弱い(goに軍配かなぁ)
- 翻訳業大変!
- なんとかしたい
- 今後、Crystalはどういった分野に広がるのか
- better ruby が今のところ近いかなぁ
- もっとCrystalを広めるにはどうしたら良いですかね
- 何か爆発的に人気の出るライブラリが必要?
などなど。話していて楽しかったです。
勉強会を終えて思ったこと
上の箇条書きの最後にもありましたが、自分はCrystalが好きで「もっと広まって欲しいなぁ」「広まるにはどうしたら良いのか」と思っていました。そのことを勉強会でも話したのですが、いろんな方と話した結果、以下のツイートをすることになります。
ひとりで勝手に「crystal、もっと広めたい!」と焦っていたけど、流れ的には言語が広まる過程を順当に進んでいる、という話をした。
— at_grandpa (@at_grandpa) November 29, 2016
あと、知らないメソッドとか、みなさんのcrystal度合いに刺激を受けたりとか、何かしら前に進みたくなる良い勉強会だった。
勝手に焦っていたんですね。また、この焦りから来る「広めよう!広めよう!」という自分の気持ちは、ある意味危険だなと思いました。周りの人に「Crystal使ってみなよ!めっちゃいいよ!ねぇねぇ!」というのは自分のエゴなんですね。何を使うかは個々人次第であり、他人が強制するものではないと思います。社内の雑談でもこのような話をし、結局自分にできることは、
「大好きなCrystalを触り、事例を作って、それをひたすら公開し、Crystalの素晴らしさを発信すること」
だと思いました。そうすれば、興味を持ってくださる方も自然と増え、自分から楽しくCrystalを書ける人が増えるのではないかと思います。
そういう場として、ブログを書くもよし、githubにライブラリを公開するもよし、Twitterでつぶやくもよし、勉強会を開催するもよし。いろいろとやることがありますね。こんな楽しいこと、やらなきゃ損だなーと。つまりは、
「エンジニアなら、口先だけでなくコードで語ろう」
ということでしょう。これを再考できたことも、勉強会を開催してよかったなと思います。
さて、今日も crystal
コマンドを叩きますかー