関数型プログラミングの基礎
JavaScriptを使って学ぶ
関数型プログラミングの基本的な考え方から教えます!
長瀬嘉秀 監修 立川察理 著 A5判 340ページ 定価:3,080円(税込) ISBN:978-4-86594-059-6 2016年11月上旬刊行
電子書籍
関数型プログラミングは、従来はScalaなど一部の開発言語でしか利用されていなかった特殊な技法でした。ところが近年では、iOS開発言語であるSwift、あるいは次期Android開発言語と目されているKotlin(コトリン)など新しい開発言語を使う上では、必須の技法となってきています。本書は、この「古くからあったけど、なかなか理解できなかった技法」関数型プログラミングを、その基本的な考え方から応用まで丁寧に紐解きました。 本書は、何らかのプログラミング経験のある読者を想定しています。JavaScript で簡単なプログラムを書いたことがある人ならば、問題なく読み進めることができるでしょう。またJavaScript を知らなくても、他の言語を使ったことのある人であれば、読み進めていくうちに本書で紹介したコードは理解できるでしょう。 是非、本書を契機に新しいプログラミング手法を身につけてください。
内容詳細

■著者プロフィール
東京大学法学部、長崎大学医学部卒業。精神科医。 学生時代より趣味で始めたプログラミングを、20 年以上にわたって続けている。 2011 年から2014 年まで、東京大学医学部医療情報学教室にて多施設共同型電子カルテシステムの研究開発に従事。その後プログラミングへの愛着を抑えることができず、医師としての業務のかたわら、関数型プログラミングの書籍を執筆するに至った。現在は仙台市在住。
趣味は、テニスとケヅメリクガメの飼育。好きな作家は、ドストエフスキー、チェーホフ、ジャン=ジャック・ルソー。

■サンプルコードのダウンロードはこちら

■[本書の主な内容]

第Ⅰ部 関数型プログラミングの基礎
第1章 「計算」とは
1.1 「計算」のモデル
1.2 命令型モデル
1.3 関数型モデル
第2章 なぜ関数型プログラミングが重要か
2.1 プログラミング言語における関数の特徴
2.2 関数型プログラミングの特徴
2.3 関数型プログラミングの利点
第Ⅱ部 JavaScriptによる関数型プログラミングの実践
第3章 心の準備
3.1 DRY原則
3.2 抽象化への指向
3.3 セマンティクスを意識する
3.4 テストに親しむ
3.5 JavaScriptと関数型プログラミング
第4章 データの種類と特徴
4.1 型とは何か
4.2 基本型
4.3 合成型
4.4 変数とデータの関係
4.5 参照透過性の仕組み
第5章 プログラムをコントロールする仕組み
5.1 条件分岐の種類と特徴
5.2 反復処理の種類と特徴
5.3 再帰による反復処理
第6章 関数を利用する
6.1 関数の基本
6.2 関数と参照透過性
第7章 高階関数を活用する
7.1 高階関数とは何か
7.2 カリー化で関数を返す
7.3 コンビネータで関数を組み合わせる
7.4 クロージャーを使う
7.5 関数を渡す
7.6 モナドを作る
第8章 関数型言語を作る
8.1 プログラミング言語の仕組み
8.2 抽象構文木を作る
8.3 環境を作る
8.4 評価器を作る
第Ⅲ部 付録
第9章 JavaScript環境を準備する
9.1 実行環境を準備する
9.2 テスト環境を準備する