ある程度scalaには慣れた段階で、関数型的発想がよりできるようになることを期待して購入しました。しかし期待に応えてはくれませんでした。
関数脳といいながらも、応用の章ではvarやmutableが当たり前に出てくる副作用バリバリのサンプルコードが出てきます。
また、意図してなのかわかりませんが、mapやfoldに相当する処理を自分で実装している箇所があるなど、高階関数の再利用性をあまり活かせている感じがしませんでした。
前章で紹介されたストリングインターポレーションを使えば簡潔にかけるところを+で繋ぐなど、細かいことを含めて説明されことが応用に生かされている感じが全くせず、あまり実践の参考になりませんでした。
(執筆当時の)scalaの機能を一通り網羅していること、章の初めに、その章で何が得られるかが簡潔にまとめられていることなど、親切な部分はありました。
scalaの文法入門という意味では良くまとまっていると思います。しかしサンプルコードが洗練されていないので、肝心のオブジェクト指向脳から関数脳への導入という意味では、むしろその逆でオブジェクト指向脳のままscalaを使ったらこうなる、という例に思えました。
無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
オブジェクト指向プログラマが次に読む本 -Scalaで学ぶ関数脳入門 単行本(ソフトカバー) – 2010/11/13
本書は、新たな知的刺激を求めるオブジェクト指向プログラマのための本です。本書では、オブジェクト指向と関数型のハイブリッド言語として最近注目を集めているプログラミング言語Scalaを学びながら、関数型プログラミングの本質的な部分(本書ではこれを「関数脳」と呼んでいます)を理解していただくことを目標にしています。 本書は大きく3つの部と付録で構成されています。 第1部は導入編です。ここではまず、Scalaについての基本的な情報を提供します。第2章では、後の章を読み進めるために最低限必要なScalaの基本的な文法について説明しています。 第2部は基礎知識編で、関数型プログラミングの考え方を軸にして、コレクション、再帰をはじめとした様々な技術トピックを説明します。 第3部は応用技術編です。ここでは第2部で学んだ知識を基にして、アクター、パーサーコンビネータ、DSLなどのより高度なトピックを扱います。 付録の「Scala入門」では、Scalaのインストールから実行方法、そしてScalaの基本的な文法について、第2章では触れられなかった部分を中心に説明しています。実際に手を動かしながら読み進める場合は、本書の第3章以降に進む前に、第2章とあわせて本付録も参照してください。
- 本の長さ432ページ
- 言語日本語
- 出版社技術評論社
- 発売日2010/11/13
- ISBN-104774144363
- ISBN-13978-4774144368
この商品をチェックした人はこんな商品もチェックしています
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
登録情報
- 出版社 : 技術評論社 (2010/11/13)
- 発売日 : 2010/11/13
- 言語 : 日本語
- 単行本(ソフトカバー) : 432ページ
- ISBN-10 : 4774144363
- ISBN-13 : 978-4774144368
- Amazon 売れ筋ランキング: - 759,727位本 (本の売れ筋ランキングを見る)
- カスタマーレビュー:
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
2016年3月9日に日本でレビュー済み
Amazonで購入
2019年7月21日に日本でレビュー済み
関数言語の要諦は再帰表現が理解できて、書けるようになることだと思っています。これが難しい。なのでいろいろ書籍をあたりましたが、本書が一番「再帰」での処理の組み方を解説していると思います。関数言語は他にも重要な概念がありまずが、再帰だけに絞って理解したい場合はオススメです。
2011年2月19日に日本でレビュー済み
文法の本は、いくら丁寧に書かれていても、学術的になったり、あまり使わない機能やメソッドにまで細かく書かれていて、途中で疲れて投げ出しがち。 でもこの本は、必要最低限の機能の説明になった分、基本的な事まで説明がある。短く分かりやすいプログラムに加えて、絵を交えて説明してくれ、テンポ良く主題が変わっていくので、飽きさせる事なく最後まで読み通せる。 注目したい機能である並行プログラミングに関しては、2章使って丁寧に書かれていて、Scalaだとこんなに簡単にスレッドを制御出来るんだと感動出来る事請け合い。 やっぱり日本人が書いた文章は、読みやすい。 関数脳入門という題に対しては、それ程関数型プログラミングには触れていないので無理があるが、Scalaの入門書として、Scalaを始めたい人みんなに勧めたい。
2011年5月21日に日本でレビュー済み
目次を見ればタイトルが不適当なのは一目瞭然かと思うのですが。。。
「Scala入門」程度がふさわしいと思います。そういうタイトルであれば、
他の入門者用書籍に比較すれば良書かと思いますが。。。
関数型プログラミングは副作用が無いのだと説明しておいて、モナドのモの
字も出てこないのは矛盾していないでしょうか。この理解は必須ではないよう
ですし難しいようですが、そうかといって、(さらなる勉強のための)ポイ
ンタも示さないのは(この手の書籍にありがちなことですが)問題かと思います。
また、特に関数型でなくてもよい機能に関する記述も多々あります。
結局のところ、以下が想像できます。
1.著者はScalaの入門書が書きたかった。
2.出版社側は「それじゃ売れないよ。もう出てるじゃない」
(彼らは以前に出ていた入門書のレベルの低さを知らない)。
3.仕方ないので「関数型」を全面に押出し、適当に前振りをつけた。
といったところではないでしょうか。
タイトルと中身が違うのは、よく有名人の講演会などでも残念に思うところ
ですが、少なくとも著者らは技術者であるはずで、他人が誤解しない程度の
厳密さは重んじるべきではないでしょうか。
「Scala入門」程度がふさわしいと思います。そういうタイトルであれば、
他の入門者用書籍に比較すれば良書かと思いますが。。。
関数型プログラミングは副作用が無いのだと説明しておいて、モナドのモの
字も出てこないのは矛盾していないでしょうか。この理解は必須ではないよう
ですし難しいようですが、そうかといって、(さらなる勉強のための)ポイ
ンタも示さないのは(この手の書籍にありがちなことですが)問題かと思います。
また、特に関数型でなくてもよい機能に関する記述も多々あります。
結局のところ、以下が想像できます。
1.著者はScalaの入門書が書きたかった。
2.出版社側は「それじゃ売れないよ。もう出てるじゃない」
(彼らは以前に出ていた入門書のレベルの低さを知らない)。
3.仕方ないので「関数型」を全面に押出し、適当に前振りをつけた。
といったところではないでしょうか。
タイトルと中身が違うのは、よく有名人の講演会などでも残念に思うところ
ですが、少なくとも著者らは技術者であるはずで、他人が誤解しない程度の
厳密さは重んじるべきではないでしょうか。
2011年1月18日に日本でレビュー済み
ふだんは、Javaで業務アプリ開発をやっています。
プログラミングのスキルアップのために、Java以外の言語も勉強しています。
おととしの夏にコップ本が登場して以来、Scalaもちびちびやってきました。
自分が読んだScalaの本は、これで3冊目になります。
本書の内容としては、
前半は、Scalaでなくても、関数型言語とよばれるプログラミング言語ではおなじみの機能、たとえば、再帰、リスト処理、クロージャなどについて説明しています。
後半は、Scalaの特徴といわれるような機能、型、Actor、DSLなどに的をしぼって説明しています。
Actorの説明の前に、Javaのマルチスレッドのプログラミングの復習をしたり、
DSLの説明の前に、プログラミング言語の構文解析?(自分はアカデミックな知識が欠けているのであいまい^_^;)についての説明からはいったり、本書では、Scalaにこだわらず、予備知識として知っておくと良さそうなことがあれば、それを説明してくれています。そこが、本書と他のScalaの本との違いだとおもいます。
自分には、本書のこのような構成はおもしろかったです。
これ1冊でScalaが自由につかいこなせるようになるとは思いませんが、
Scalaへの入り口としては、楽しめるのではないでしょうか。
プログラミングのスキルアップのために、Java以外の言語も勉強しています。
おととしの夏にコップ本が登場して以来、Scalaもちびちびやってきました。
自分が読んだScalaの本は、これで3冊目になります。
本書の内容としては、
前半は、Scalaでなくても、関数型言語とよばれるプログラミング言語ではおなじみの機能、たとえば、再帰、リスト処理、クロージャなどについて説明しています。
後半は、Scalaの特徴といわれるような機能、型、Actor、DSLなどに的をしぼって説明しています。
Actorの説明の前に、Javaのマルチスレッドのプログラミングの復習をしたり、
DSLの説明の前に、プログラミング言語の構文解析?(自分はアカデミックな知識が欠けているのであいまい^_^;)についての説明からはいったり、本書では、Scalaにこだわらず、予備知識として知っておくと良さそうなことがあれば、それを説明してくれています。そこが、本書と他のScalaの本との違いだとおもいます。
自分には、本書のこのような構成はおもしろかったです。
これ1冊でScalaが自由につかいこなせるようになるとは思いませんが、
Scalaへの入り口としては、楽しめるのではないでしょうか。