最近関数型言語を改めて学び始めております。
書籍 関数プログラミング言語「F#」 を読みました。
本書は2010年に発売された本で、関数型言語の特色や、F#が強く影響を受けているML系言語の話、基本的な仕様や関数型言語らしい開発、そしてオブジェクト指向プログラミングをF#で行う場合、という話で構成されています。
特に1章「序論」2章「ML」は学術的で、割と早い段階でラムダ計算の理論的な話が出てきます。最初はサラッと流し読みして、3章「F#入門」から入るのが良いと思います。まずはF#ではどのように書けるのかを学んだ上で、理論的な補強のために1章2章を読むほうが良さそうです。
最近のF#界隈を眺めますと、下記のような話題が多いと感じました。これらの話題は本書には含まれていません。本書が出た2010年時点と今とでは、だいぶ状況が違うのでしょう。私は2010年頃のF#(というか.NET開発まわり)については全然知りませんでしたので、記憶を頼りにした比較も難しいのですが…。
- SAFEスタック
- DDDをF#で実装
- C#と比べての生産性
- XamarinでF#
また、dotnetコマンドが.NETやmonoでの開発で必要になるのですが、この辺のツールセットの説明もありませんでした。純粋にF#というプログラミング言語のコアコンセプトについて説明する書籍なのかもしれないですね。
まとめると、本書のターゲット層は、下記のような感じでしょうか。
- C#は分かるがF#は知らない.NET開発者
こんな書評を書いておいて、刺さる人がいるかどうかは分かりませんが、気になった方は一度アクセスしてみてください。
F#については、より良いと思った他の書籍もあります。英語の書籍ではあるのですが、別途紹介します。
追記: 紹介しました。