Runner in the High

技術のことをかくこころみ

関数型プログラミングカンファレンス2019に登壇してElmの話をした

Scala, Haskell, Rust, Elixirあたりの関数型の匂いを感じさせる言語の人たちが、一堂に会してそれぞれのプログラミング言語のあれこれをトークする「関数型プログラミングカンファレンス2019 in Japan」というイベントが新しく爆誕していた。このイベントは今回初開催であったが、自分はElmの人としてトップバッターでトークをさせてもらった。

fpc2019japan-event.peatix.com

参加者規模でいうと100人くらいと言う感じで、茅場町のイベントスペースであるFinGATE KAYABAが会場であった。

個人的な話だが、もともと自分は新卒1年目の頃江東区のちょうどど真ん中に当たる扇橋という場所に住んでいた。なので、お隣の中央区は馬喰町や水天宮そしてもちろん茅場町も頻繁に天気のいい日にはお散歩することがよくあった。少しねばって歩けばすぐに東京駅にも行ける上、日本橋や銀座も近い。まさに大江戸アーバンシティを感じられる素晴らしい場所だと思う。大抵テック系の勉強会と言うと六本木や渋谷が定番であるが、もう少し東部の下町でもこういった活動が増えると嬉しい限りである。

自分のトークのトピックはElmであったが、少しづつElmが盛り上がってきているとはいえ、まだまだ知名度的にも少し不安であった。なので、内容としてはできるだけElmを知らない人にもそのよさをしっかりと感じてもらえるような万人向けの内容を作った。

僕が現在所属しているUniposは、現時点で日本最大規模のElmアプリケーションを開発しており、そこにはElmならではの良さがふんだんに感じられる機会がたくさんある。

自分はElm以外にも別件の開発案件やアルバイトでVue.jsやReactとTypeScriptを中-大規模で触った経験があり、それらと比較するとどうしてもElmマンセーとなってしまう状況のほうが多い。ただ、ちゃんとしたエビデンスもなしにマンセー言ってもただの宗教にしか見えないので、そこにはもう少し肉付けをした説明をすることとした。

正直、自分以外の人達はもう少し込み入った内容の話をしていたので、自分の内容は参加費を払って聞きに来てもらうに足りるものだっただろうか?という不安はあった。しかし、発表後の質疑応答はかなりいろんな人達から質問を頂けて嬉しい限りであった。

Twitterのタグタイムラインを見ていても、自分が一番強調したかったElmの特徴はエラーメッセージが徹底的に優しいことというポイントが共感頂けたようで、そこも意図通りの伝え方ができてよかった。また、Elmの徹底的な型安全性や、TEAによるアプリケーション構造のルールづけ、というあたりの話も、懇親会で比較的分かりを感じて頂けたという声があり、またElmの良さが伝えられてよかったという気持ちである。

Elmのプロダクション利用に関して

懇親会で数人の方から、Elmをプロダクトで利用してみたいな〜とは思うが実際やはりハードルが高いというはなしを頂いた。これは確かにそうだなと思う。リチャード・フェルドマン*1も、もし社内でElmを使いたいと思うならElmに詳しい人間を必ずひとりは用意しろと言っている。

これはたしかにそうで、Elmはどう考えても学習コストやメンテナビリティ的な観点からしてコストパフォーマンスに優れた言語であるが、それでもやはりひとりはメンターとなって様々なElmに関する"初めて"の意思決定を下すほうが圧倒的に失敗が少ない。これはElmに限らずReactやVue.jsでもそうだと思うが、特にElmはまだインターネット上にリソースが少ないという点でも、ひとりElmマスターがいるというだけでも大きな違いになる。

なので、もしElmを本格的にプロダクトで使いたい、使うことを検討していて、そのメンターを探しているという場合には、気軽にTwitterでDMでも頂ければと思う。実際に開発フローに入って手を動かすことは難しいが、業務委託などの形でElmに関する相談や設計の壁打ち相手をすることはできる。もちろんElmではなくフロントエンド・アプリケーション設計そのものの相談でもOKである。Elmを使った高生産性とメンテナビリティを両立させたアプリケーション開発の手助けができれば、これほど嬉しいことはない。

twitter.com

*1:NoRedInkに所属するElm系の長尺トークをたくさんしている人 https://www.izumisy.work/entry/2019/08/17/152455