徒然なる日々を送るソフトウェアデベロッパーの記録(2)

技術上思ったことや感じたことを気ままに記録していくブログです。さくらから移設しました。

「基礎からわかるElm」を読んで

基礎からわかる Elm

基礎からわかる Elm

  • 作者:鳥居 陽介
  • 発売日: 2019/02/27
  • メディア: 単行本(ソフトカバー)

関数型言語に分類される Elm を基礎から解説した本です。
Amazon の書評を見ると点数が高い本なのですが、読みやすさの工夫が随所にあり、秀逸な一冊だと思います。

対象読者として全くの初心者を対象とせず、JavaScript が書ける人に限定したところが実はうまくいっている理由ではないかと思います。
関数型言語シャドーイング禁止、状態はモデル以外持てないなど強い拘束条件がある言語ですが、実行時エラーが理論上発生しない、
高い記述能力を持つということで、サーバ側の Elixer/Erlang とも注目の言語ですが、従来のプログラミングに考え方の転回を求める
点があり、少々とっつきにくい印象があります。

この本は演算子や関数の基本的な定義から始まり、制御構文、Browser ライブラリを用いたWebアプリケーション開発までを網羅しており、
一冊で Elm の開発ができるように工夫されています。

さて使ってみた印象ですが、実行時エラーを出さないということは、コンパイル時に大量のエラーが発生することでもあります。
エラー1つ1つは発生原因がある程度推測されて表示されるため、量は多いものの1つ1つ対処すれば確実にコンパイル可能になります。

JavaScript だと見通しが悪くなりそうなプログラムでも MVC アーキテクチャのお陰でそれほど見通しの悪いコードにはなりません。
ただし、ソース分割のタイミングをどうするかについては通常の JavaScript の感覚で分割するとコードが散在してえらい目に合うかもしれません。

また、メッセージループにサブループを作成したい場合の記述が本文中にないため、巨大なメッセージループを構成しなければならない欠点があります。
これらはパイプ関数で解決可能なのですが、本編にそこまでは解決されていません。

Elm で構築されたシステムのソースをいくつかみて解析するしかなさそうです。

次のステップとして、BBS 投稿システムをサンプルにプログラムを作成してみるのがいいかと思います。