PR:この記事にはアフィリエイトリンクが含まれます。
F#で実務的な関数型プログラミングを学ぶなら、業務ルールを型で表す方法や、.NETとC#を連携させる方法まで学べる本が役立ちます。
「F# 本 おすすめ」で探す方には、基礎から実務アプリまで学べる本や設計を深める本、日本語でDDDを学べる本を紹介します。
現場では、変更に強い業務ロジックを作ることも、新しい言語を導入することと同じくらい大切ですよね。3冊の入口はそれぞれ違います。知りたいテーマから読むと理解を進めやすくなります。
| 本 | 主な内容 | 参考価格 |
|---|---|---|
F# in Action | 基礎、ドメイン設計、Web開発、テスト、C#連携 | US$59.99(紙版希望小売価格) |
Stylish F# 6: Crafting Elegant Functional Code for .NET 6 | F# 6と.NET 6、型設計、非同期・並列処理 | EUR 59.99(紙版、VAT別) |
関数型ドメインモデリング | DDD、F#の型、パイプライン、エラー処理 | 3,740円(税込) |
価格は公式の希望小売価格を目安にしています。実売価格は時期や販売店によって変わるため、購入時には紙版か電子版かも確認してください。
型で業務を守る
注文状態を文字列だけで管理すると、入力ミスや未定義の状態が入り込む余地があります。F#の判別共用体なら、PendingやPaid、Cancelledなど扱うケースを限定できます。
状態ごとにパターンマッチで分岐を書けば、処理の抜けをコンパイラーが知らせる場合があります。新しいケースを追加したとき、見直す箇所も明らかになりますね。
入力が必ず正しいとは限りません。OptionやResultを使うと値がない状態や処理の失敗を戻り値で表せます。呼び出し側でも成功と失敗を扱いやすくなります。
型設計では、起こる状態と避けたい状態を型で明確に表します。コードを読む人が業務上の前提を理解しやすくなるのが利点です。
F# in Action
Isaac Abraham著の『F# in Action』は2024年刊行で、336ページです。F#の基礎から、型やパターンを使ったドメインモデリングと関数型設計へ進みます。実務アプリやWeb開発、テストも扱います。
C#との相互運用や非同期プログラミングも取り上げます。文法から実務アプリまで一冊で学びたい人には、『F# in Action』がおすすめです。
紙版の希望小売価格はUS$59.99です。実売価格は時期や店によって変わります。出版社ページにはF#・.NETの対象バージョンが明記されていないため、最新環境で試す際は現行の公式ドキュメントも確認しましょう。
Stylish F# 6
Kit Eason著の『Stylish F# 6: Crafting Elegant Functional Code for .NET 6』は、F# 6と.NET 6を対象にした第2版で、422ページです。型を使った関数設計や不変性を学び、F#らしいコードの組み立て方を深められます。
関数合成やエラー処理、パフォーマンスのほかに非同期・並列処理も扱います。C#の非同期処理との違いも説明しており、両方の言語を使う.NET開発者に役立つ内容です。
発行は2021年です。紙版の参考価格はEUR 59.99で、VATは別表示です。対象は.NET 6。F#の設計スタイルを学ぶ本として読み、APIを確かめる際は現行環境のドキュメントも確認してください。
関数型ドメインモデリング
Scott Wlaschin著、猪股健太郎訳の『関数型ドメインモデリング』は、日本語でDDDと関数型プログラミングを学べる308ページの本です。業務ドメインを理解し、F#の型へ落とし込む流れが軸になっています。
型で整合性を表す方法に加え、パイプラインやエラー処理を解説しています。シリアライズと永続化も扱います。業務ルールをどんな型にするか考えたい人や、DDDと関数型設計を結びつけて学びたい人に合う内容です。
原著の案内では、F# 4.0以上と対応する.NETランタイムが対象です。紙書籍の希望小売価格は3,740円(税込)で、実売価格は販売時期や店によって変わります。日本語で読み進めたい方には手に取りやすい本ですね。
非同期とテスト
.NETの非同期処理を扱う際は、F#の非同期ワークフローとC#でよく使うTaskの考え方を整理しておくと、言語間の境界を理解しやすくなります。呼び出し側が何を期待するかを意識してください。
外部APIやファイルを扱う処理では、データを待つ時間が生じます。非同期処理を小さく分け、失敗やキャンセルの扱いを明確にすると調査や修正がしやすくなります。
テストでは関数に入力を渡し、期待した値が返るかを確かめるのが基本です。業務ルールを外部サービス呼び出しに依存させずに書けば、データベースがなくても重要な分岐を検証できます。
結論
基礎からWeb開発やテスト、C#連携まで学ぶ人には『F# in Action』がおすすめです。F#の設計スタイルや非同期・並列処理を詳しく知りたいなら『Stylish F# 6』を、日本語でDDDと型設計を学ぶなら『関数型ドメインモデリング』を選んでください。
実務で使うなら、業務ルールを一つ題材にして、状態を型で表す短い例を作ってみるとよいでしょう。注文状態や入力検証なら、F#の型が保守にどう役立つかを実感できます。
.NETでの関数型プログラミングは、これまでの開発経験を生かしながら始められます。関心のある領域に合う本を開き、短い関数や小さなモジュールから試してみましょう。そうすれば実務でF#を使う一歩を踏み出せます。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。




