ISBN 9784274701061
【POD】A Gentle Introduction to Functional Programming in English [Third Edition]
概要
Haskellと英語で関数プログラミングの基礎を同時に習得する
想定読者
関数プログラミングに初めて触れる学習者のうち、英語の技術文書読解力も同時に伸ばしたい大学生・大学院生
こんな人には向いていない
- すでにHaskellや他の関数型言語で実務経験がある開発者には基礎事項の比重が大きい
- 英語による学習に抵抗があり日本語の解説書を優先したい読者には、本書の英文主体の構成が負荷になる
- 型理論・圏論など数学的基盤を深く掘り下げたい上級者には内容が浅い
読了後にできるようになること
- Haskellの基本文法(変数・関数・リスト・タプル・条件式)を英語で読み書きできる
- 再帰とパターンマッチを使ったリスト処理の典型的な設計ができる
- 型クラスと型推論の基礎概念を英語の技術文脈で理解できる
- 英語論文や英文プログラミング書籍を読む上で必要な情報系専門用語を体得できる
- 論理プログラミング(Prolog)への入口となる宣言的思考の基礎を掴める
本書のキー概念(章解説)
- 第 1 章 About Functional Programming — 関数プログラミングのパラダイムを命令型と対比して導入する章。最初に読む価値がある
- 第 2 章 Basic Syntax and Evaluation Model — 遅延評価モデルの説明がある。他言語経験者が最初につまずく概念を押さえる
- 第 3 章 Variables — 不変変数の概念を丁寧に解説。副作用なしプログラミングへの転換点
- 第 4 章 Functions — カリー化・高階関数など関数プログラミングの中核。演習問題が豊富
- 第 5 章 Lists and Tuples — Haskellでもっとも使用頻度の高いデータ構造。実践的な演習が多い
- 第 6 章 Conditions
- 第 7 章 Recursion — 再帰設計のパターンを段階的に積み上げる。この章の演習は確実にこなしたい
- 第 8 章 Pattern Matching — 宣言的なコード記述の要。7章と合わせて反復練習すると定着する
- 第 9 章 Advanced Typing — 型クラス・多相型の概念に踏み込む。理解に時間をかけてよい章
- 第 10 章 Selected Applications — 前章までの知識を組み合わせた応用例。自力で実装を試みてから解答を確認する使い方が効果的
- 第 11 章 Towards Logic Programming — Prologの宣言的記述へのブリッジ章。関数型と論理型の連続性を掴める
ハイライト
- 本書を読み進めれば,英文の読解力と情報関係の専門用語の知識を自然に得ることができ,今後,英語論文や英文原書を読みこなすための確かな力が身につきます。(英語学習とHaskell習得を同時に達成するという本書の独自の目的が端的に示されている)
編集メモ
Qiita記事での言及0件・外部シグナルなし。関数プログラミング×英語学習という限定的な学習目的に特化した補完的選択肢
読む前に押さえておきたいこと
- 手続き型言語(C・Python・Javaなどいずれか)で基本的なプログラムを書いた経験
- 英語の技術文書を辞書を使いながら読める程度の英語力(TOEIC 500〜600点相当が目安)
学習のコツ
- 英語と関数プログラミングの両方を初めて学ぶ場合、第1〜2章をゆっくり読んで評価モデルに慣れてから先に進むと、後半の概念吸収が早くなる
- 付録A(The Prelude関数一覧)は第5章以降の演習中に随時参照する辞書として使うと、記憶の定着と速度を両立できる
- 第7章(再帰)と第8章(パターンマッチ)は一度読んだ後に章末の演習問題を日本語で設計してから英語コードに落とす逆引き練習が有効
- 英語読解力向上が目的の場合は、重要キーワードに添えられた日本語訳を確認したあと、直後の段落を日本語を見ずに読み直す習慣をつけると定着が早い
出版社による内容紹介
英語とHaskellで学ぶ関数プログラミンの入門書(日本名:関数プログラミング入門,in English![第3版]) 本書は、Haskellを用いて関数プログラミングの入門的な内容を英語で解説した書籍です。多くのプログラミング言語はもともと英語が母体であり、プログラミング自体を英語で学習することは、日本をはじめ特に非欧米語圏の人々にとって、きわめて重要かつ有用です。 なお本書では、日本の学生の英語での学習を支援するために、本文中の重要キーワードについては、適宜、日本語の訳や解説を加えています。本書を読み進めれば,英文の読解力と情報関係の専門用語の知識を自然に得ることができ,今後,英語論文や英文原書を読みこなすための確かな力が身につきます。Contents-目次List of Figures-図一覧List of Tables-表一覧Abbreviations and Acronyms-略語と頭字語Preface-序文1 About Functional Programming-関数プログラミングについて2 Basic Syntax and Evaluation Model-基本文法と評価モデル3 Variables-変数4 Functions-関数5 Lists and Tuples-リストとタプル6 Conditions-条件の表現7 Recursion-再帰8 Pattern Matching-パターンマッチ9 Advanced Typing-さらに進んだ型付け10 Selected Applications-応用例11 Towards Logic Programming-論理プログラミングに向けて12 Concluding Remarks-おわりにAppendixA The Prelude-A Short Reference-The Prelude関数一覧(抜粋)B ISO Prolog System Predicates-A Short Reference-ISO Prolog組込述語一覧(抜粋)C Exercise Solutions-演習問題の解答例Acknowledgements-謝辞Bibliography-参考文献About the Author-著者略歴Index-索引
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。