プログラミング過去に「NoRedInk*1の筋肉の人」としておなじみリチャード・フェルドマンをフィーチャーする記事を書いたので、今度は自分をフィーチャーしようと思う。www.izumisy.workおすすめはやはり一番最後の「jQueryからElmまで」だが、正直このスライドはElmに関する説明成分が少なかったと反省しているところがある。個人的にはこの記事で並べている順番に見てもらうほうが、Elmに対するわかりが生じやすいと思う。frontendElmの基本的な部分をざっくり説明するスライド。このスライドは関数型プログラミングカンファレンス2019で使った。Elm意外にもRustやElixirなどの関数型プログラミングのエッセンスを持つ言語の人たちとコラボレーションするタイプのイベントだったので、関数型的な部分に言及するのは少なめでElmの良さをアッピルするような内容にした。Elmというとその文法がHaskellライクな部分に焦点が向きがちだが、個人的にもっと重要なのはやはりシンプルかつ必要充分な型システムと、そして万人にとって優しいエラーメッセージであると思う。型のある言語というと、絶対に型パズルから逃れられないような気がしてしまうが、Elmで型パズルをすることはそうそうない。あるとしても1年に1回あるかないかくらいだ。今年はElmで型パズルしてない。フロントエンドという画面的な仕様変化の激しい領域で求められるのはMaintainabilityとProductivityの両立であり、そこにはやはり大胆に変更を加えることを恐れさせない型安全性が重要だというメッセージも込めた。このあたりのはなしはとても齟齬なく伝えられてよかった。Summerで使ったスライド。Elmのイベントだけあって、もうElmがなんたるかはある程度すっ飛ばした話にした。ひとつめのスライドでも、末尾の方でこのスライドに言及している。Elmを学ぶ情報はググるといろいろと出てくるが、なかでも意外とあまり知られてないのがリチャード・フェルドマンのトーク動画だろう。カンファレンスの動画というのは学習資料にならないようなイメージが自分の中にもあったが、しかしScalaやElmの動画というのは比較的具体のコードを交えた設計に関するトークなどがちらほらある。僕の所属する事業部では、Elmを書くフロントエンド・エンジニアが集まって彼の動画を見る会を開催したりしていたくらいには、リチャードの動画は学びが多い。www.izumisy.workなお、スライドの中で言及している一丁目ラボ技術報告は以下のリンクから購入できる。本当にElmの初歩的な内容をカバーしたものだが、それでも何も読まないよりはいいと思う。1chome-lab.booth.pmjQueryからElmまで初夏のJavaScript祭り2019で話すのに使ったスライド。自分意外の登壇者がほとんどまじめな(?)JavaScriptばなしであったのに対して、自分だけElmでなかなかアウトサイダー感があった気がする。内容的にはこれまでのフロントエンドでよく見られたカオスが、いかにしてFluxアーキテクチャによって統治され、そしてElmの持つパラダイムへと向かっていったかをそれっぽい雰囲気で話すもの。Reactの経験を集約してフロントエンドの大変さがどこにあったのかを改めてアウトプットできたのは、常にいい経験になった。社内のLT会でも比較的好評だったので、それだけでも作ったかいはあった。このスライドを見ると、やはりこれまでの自分のフロントエンドの経験というものが、改めてElmに対する思いや向き合い方に出ている気がするなと思った。「フロントエンドは大きな関数である」という考え方も、Elmをやるまでの自分には絶対になかったと思う。様々なフロントエンド・フレームワークに触れてからFluxを知り、そしてReduxに触れ、さらにその元になったElmに触れて、と来るともはやフロントエンド・アプリケーションが関数の組み合わせとして考えること自体が、むしろ自然で当然だったかのように思えてくる。www.izumisy.work総括こう見ると結構Elmのトークしてるなぁ。これからもElmのあれこれをガンガン盛り上げていきたい。menta.work*1:Elmを開発するEvan擁するアメリカの教育系スタートアップ。Elm開発者のメッカ。(8)はてなブログをはじめよう!IzumiSyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。