PRESS』編集部が自信を持ってお届けするシリーズです。978-4-7741-6926-2ただいま弊社在庫はございません。長い歴史のある関数プログラミング。メジャーな命令型言語の最近のバージョンでは,関数プログラミングの要素を取り入れた機能が入ってきました。使っている言語の新機能をうまく活用し,より良い開発につなげるには,今,関数プログラミングを押さえておくことは効果的ではないでしょうか。関数プログラミングにおける思考方法は,よく知られた構造化プログラミングやオブジェクト指向プログラミングのそれとは大きく違う面があります。書き方がわかっても,考え方が伴わなければ,プログラムとはそうそう書けるものではありません。8,C++11,C言語,JavaScript,Rubyをはじめ,各種の命令型言語との比較や,言語固有の新機能の活用術,注意点も豊富に盛り込みました。加えて,オススメの開発/設計テクニックと題し,トップダウンの思考法や,言語の強みを活かす技法もステップバイステップで紹介します。広くエンジニアの方々へ,関数型言語でも命令型言語でも活かせる「使える基本」が身に付く1冊をお届けします。本書『関数プログラミング実践入門──簡潔で,正しいコードを書くために』では,各章は次のような構成となっています。関数プログラミングと,その実現のための関数型言語とはそれぞれ一体どういうものなのかを説明します。合わせて,関数プログラミング界隈の人とコミュニケーションが取れる程度の,基本的な概念や特徴,用語,歴史などを紹介します。いろいろな関数型言語やそれらで書かれたプロダクトの紹介なども含まれます。[比較で見えてくる]関数プログラミング―C/C++,JavaScript,Ruby,そしてHaskell第1章では,同一の問題設定の元で,メジャーな言語のいずれかとHaskellを比較することで,Haskell(あるいは同様の関数型言語の機能)の持つ機能がプログラミングに与える効果を俯瞰します。この時点ではHaskellの文法を説明していませんが,比較対照が存在し,Haskellコードの解説も多めになっているため,エッセンスを読み取るのには支障がないような解説となっています。本当にはじめてHaskellに触れる方は,一度第1章をスキップし,次の第2章から第5章までを読んでから戻ってきても良いでしょう。モナド―文脈を持つ計算を扱うための仕掛け第2章から第5章までは,Haskellをはじめ多くの関数型言語の安全性に多大な貢献を果たす「型」,Haskellのコードを読み書きするための基本的な文法や,Haskellと他の言語で実際に計算が進んでいくしくみの違い,特徴的で他の命令型言語で取り入れられ始めた機能であるモナドなどについて詳解します。step)で説明していきます。何がHaskellらしいコードであり,どう考えればそのようなコードを書けるのか,その手段の一つを把握できるでしょう。,(想定読者ではありませんが)あなたに関数型言語の経験があるのであれば,第5章までをスキップし第6章から読み始めるのは良い選択です。第7章は,実際にHaskellを使ってプロダクトを作るにあたり,どうコードベースやライブラリを管理していけばよいかを扱います。あなたのプログラムをオープンソースとして公開したり,業務でHaskellを使ったりする場合の参考となるでしょう。Appendix巻末付録です。関数型言語が使えるプログラミングコンテストサイトと,ステップアップのために読んでおきたい参考文献を紹介しました。