shinosaka.hs #2 Elixir入門を開催した
2016年9月15日にshinosaka.hs #2としてelixir入門勉強会を行いました。
イベントページはこちら
前回のhaskell入門がアレ過ぎて、かなり凹んだのですがめげずに頑張りました。
最近はelixirが熱いということで、haskell入門を行った前回とは打って変わって、今回はelixirの入門を行いました。rubyでも並行処理が熱いですし。
場所は前回同様、SOU Co.,Ltd.の代表である八木さんにオフィスを使わせて頂きました。本当にありがとうございます。八木さんのご厚意がなければ多分shinosaka.hsは#1すら開けなかったと思います。
勉強会の冒頭には@ogomrさんにLTをしていただきました。内容はプログラミングElixirの翻訳者の1人であり、Rubyでも活躍していらっしゃる笹田耕一さんからのelixirを学ぶことについてのコメントです。今勉強している言語の本の翻訳をした方からコメントということで非常に嬉しかったです。RubyKaigi行きたかった・・・
その後は1時間30分ほどスライドを使った勉強会でした。ところどころネタが入るのは仕様です。
おおまかな内容は
- Erlang/Elixirの特徴
- ElixirでHello World
- FizzBuzzを題材に
- パイプ演算子
- パターンマッチ
です。
前回がアレだったのは内容を詰め込み過ぎたことが主な原因だったので、今回は「Hello World」「パイプ演算子」「パターンマッチ」に内容を絞ってみました。
それぞれの目的としては
elixirの特徴を語る上でerlangの話は外せないと思ったため、
「HelloWorld」はdefmodule
とdef
とIO.puts
を見るため、
パイプ演算子は関数型 かつ キャッチーな言語機能を紹介したかったため、
パターンマッチはelixirを書く場合至るところで使うことになる かつ 初めて見ると戸惑いがちなものをできるだけ分かりやすく伝えたかったため、
という意図で選びました。
以下前回からの改善点、反省点、次回へ向けての改善点
前回からの改善点
- タイポを減らすためにスライドからコードを別ファイルとして抜き出し、ちゃんと動くか試した
- FizzBuzzとパイプ演算子とパターンマッチではrubyのコードとの対比をした
- 前回はとにかく詰め込みすぎたので、今回はポイントを絞って内容を決めた
- スライド中に例題を入れた
- 次のスライドに行くのが速いので今回はスライドの一枚一枚、できるだけ説明するように意識した
反省
- タイポ3箇所
- パターンマッチを正規表現との半端な対比で紹介したせいであまり分かりやすくなかった
- Elixirに対する僕の理解不足(まだあまり勉強していなかった(言い訳
- 匿名関数のシンタックスシュガーとか
- 一枚一枚説明するように意識したけどまだ説明不足感が否めない
- まだ説明不足感がある
- 相変わらずテンパると早口になる。というか元々が早口
次回へ向けての改善点
- 分かりやすいな比喩は難しい。下手な比喩は具体例を増やす方向で補う
- 時には「これはそういうもの」という説明も必要かもしれない
- Elixirを勉強しておく
- もう少し例題があっても良かったかも
- 簡易なカンペみたいなのを用意した方が良さそう。スライドに対する捕捉はカンペに書いておく
- 落ち着け
- 写真を撮る
次回はもうちょっと実践的な内容のElixirの勉強会をする予定です!
Elixirの同人誌(エーフィーのアトリエ - アランビックの錬金術師とエーフィーのアトリエ Plus - アランビックの錬金術師)を買わなきゃ(使命感