登録情報
|
|
あなたの意見や感想を教えてください:
|
||||||||||||||||||||||
|
最も参考になったカスタマーレビュー
2 人中、2人の方が、「このレビューが参考になった」と投票しています。
5つ星のうち 5.0
Haskellが使えるようになりました,
By
レビュー対象商品: Real World Haskell―実戦で学ぶ関数型言語プログラミング (大型本)
読みはじめた当初は理解できない箇所がたくさんありました。そのたびに翻訳が悪いということにしておきましたが、 ほとんどの箇所は繰り返し執念深く熟読することにより理解することができました。 注意点としては、いくつかのバグがあることくらいです。 例えば12.2.2のfoldA1はバグです。 a = listArray (0,3) [1,2,3,4] foldA (+) 0 a ==> 10 foldA1 (+) a ==> 11 b = listArray (0,3) [0,1,2,3] foldA (+) 0 b ==> 6 foldA1 (+) b ==> 6 c = listArray (0,3) [0,1,2,3] foldA (*) 1 c ==> 0 foldA1 (*) c ==> 0 つまり、listArrayに渡すリストの最初の要素が、 畳み込み関数に渡す2項演算子の単位元でないと、 必ずしも意図したとおりの動作をしません。 他にもごく少数のバグが含まれていますが、 この書籍を一生懸命読んでいれば自分で修正できる程度のもので、 いいエクササイズです。 努力して読んだだけに思い出の一冊になりました。
6 人中、4人の方が、「このレビューが参考になった」と投票しています。
5つ星のうち 5.0
モナドを勉強するのに最適だった,
By bes (神奈川県川崎市) - レビューをすべて見る
レビュー対象商品: Real World Haskell―実戦で学ぶ関数型言語プログラミング (大型本)
Haskellについては今まで興味があり、ふつうのHaskellなども読んでいたが、いまいちピンと来ていませんでした。特にモナドについてはふつうのHaskellにも説明はあるのですが、きちんと理解できている実感がなく、この本で学習しようと思い購入しました。 本書籍については実践的な内容ということで色々なテーマについて書かれています。 バーコードリーダの話からGlobツールなど色々ありますが、それぞれの章を読み進めて、コードを書いていくと自然とモナドについて導入されているため、モナドの必要性について自然と理解していくことができました。 特にモナドの説明としては通常Maybeモナド、Listモナドなどから説明される書籍などが多いですが、Stateモナドから導入していく説明は秀逸だと思います。 結果として逐一各章のコードをまねながら自分でコーディングしながら読み進めることによってHaskellのコーディングが身にしみこみ、なおかつモナドの発想についてだいぶ理解が進んだと思います。 Haskell勉強しているけど、モナドとかいまいちわからないな、と思っている方は是非読むといいと思います。
4 人中、2人の方が、「このレビューが参考になった」と投票しています。
5つ星のうち 3.0
現在評価中,
By
レビュー対象商品: Real World Haskell―実戦で学ぶ関数型言語プログラミング (大型本)
今読んでいる最中なので評価は確定していません。現在は逐次内容を更新していることを先に述べておきます。だから、当面は箇条書きになってます。最終的には整理しますので。この本は、初心者向けではなく、すでに少しHaskellを利用している人や他言語を利用している人向けの本ので、最初はプログラミングHaskellあるいはLearn You a Haskell for Great Good!: A Beginner's Guideを先に読むことをお勧めします。一読するのに短くても2,3ヶ月を見積もるくらいの分量があります。650ページ超のボリューム感はたっぷりあります。 実用を考えたHaskellの本という事で、実際に使われているフォーマットをHaskellを通じて触ることをしているので、出来れば、JSONやPGMなどを知っておいたほうがいいかもしれません。(大抵は知らなくても何とかなると思う。)ただし、一部知っていることを前提に書かれているところはあります。(例えば、正規表現の項目[p202-216]は他言語で正規表現の扱う知識を持っていることを前提にして書かれています。) 訳については、10章前後で翻訳者が変わっているようです。その方針も統一されていなようです。残念ながら、前半の訳が雑な印象があります。具体例を上げると、訳語の統一感がないもの:空白と訳していたりスペースと訳していたりする(p137練習問題)や訳語の選択で意味がわからないもの:ヘンテコ→原著サイトではmalformed=不正な形式(p209練習問題)。その他、関数を無理に和訳し過ぎてる印象も一部ありました。その点が若干残念です。幸い原著オンラインサイトが無料公開されているので意味がわからないときはそちらで確認したほうが良いでしょう。単語を見ただけでもわかるものはあります。(p217練習問題の照合器→matcherなど)後半の訳は読んでいて混乱することがほとんどなくなったので、比較的わかりやすいです。 この本が書かれた当時使われているHaskellインタプリタ/コンパイラ(GHC 6.10.x)とそれ以後(GHC 6.12.xなど)で動作が変わっているところもありますが、この情報も原著オンラインサイトでは更新されているようです。だから、本書のコードでうまく動かない時は原著オンラインサイトで該当項目を一度確認してみてください。(動作が変わった例:p203 8.3.1の[String]の出力をするサンプル,QuickCheck [出版当時はVer 1.0だが2011年現在2.4 原著サイトのRun.hsのコメント参照],16章Persec ver2を前提にしてるが、最新版はPersec 3のためにApplicativeParsec.hsは不必要でこのファイルを読み込むものはコメントアウトする必要がある。)勉強していて気がついたけど、ghc 6.10.4では動作検証済みなので、ghc 6.10.4とそれで利用されていたhaskell platform 2009.2.02を入れたほうが余計な悩みをせずに済みます。その追加情報は下の方に書いて有ります。 最後にこの本の追加情報を載せておきます。 正誤表: http://hop.timedia.co.jp/show/book/Real%20World%20Haskell サンプルコード : http://examples.oreilly.com/9780596514983/ オンライン公開されている原著: http://book.realworldhaskell.org/read/ また、この訳書はghc 6.10.4で検証されているので、6.10.4を使うことをお勧めします。なぜならこのレビューからもわかるように6.12.xを使う前提のライブラリのバージョンが若干ずれるために動作しないものが出てくるからです。 ghc 6.10.4 http://haskell.org/ghc/download_ghc_6_10_4 haskell platform 2009.2.0.2 http://hackage.haskell.org/platform/2009.2.0.2/ できればこれらの情報をオレイリー日本の本書の紹介ページにリンクを貼っていただければよかったかな。 若干辛口評価です。 PS. 他言語との比較や優位な点を記述しているけど、特に批判と言えるほどのものではないです。その優位な点に同意できるかどうかは読者次第でしょうか。 ghc 7.0.4 でQuickCheck 1.2を使う方法 cabal install QuickCheck-1.2.x.x → (sudo) ghc-pkg hide QuickCheck-2.4.x.x → ghc-pkg expose QuickCheck-1.2.x.x あるいは ghci -package QuickCheck-1.2.0.1
あなたの意見や感想を教えてください: 自分のレビューを作成する
|
最近のカスタマーレビュー |
|
|
|