Shop now Shop now Shop now See more Shop all Amazon Fashion Cloud Drive Photos Shop now Learn More Shop now DIYED Shop now Shop Fire Shop now Shop now Shop now
Customer Review

15 of 22 people found the following review helpful
2.0 out of 5 stars The wrong way to teach (programming), 4 Jan. 2009
This review is from: Real World Haskell (Paperback)
I really wanted to like this book. The title alone seems so appealing. Instead of the usual, often dry, approach to teaching functional programming by means of mostly mathematical examples, this book takes a completely different approach by using realistic problems. At the same time the book seems targeted at people new to both Haskell and functional programming in general. Sadly, after reading this book I no longer think this is a viable approach to teaching.

Subjects are introduced as a "side-effect" (no pun intended) of developing fairly complex realistic programs. The authors seem eager to prove that Haskell can indeed be used for this. Unfortunately, this means they lose track of the teaching aspect. Not only do you have to learn difficult programming subjects (such as monads), you also have to understand the individual problems in the book.

This makes the book more confusing than necessary. Many chapters in the book refer back to earlier (large!) examples. Even if you read the book from start to end, it becomes a problem having to remember and understand each of these problems. But the worst effect is that it becomes nearly impossible to use the book as a reference.

One positive point about the book. Unlike most (all?) other books on Haskell it focuses on GHC with all of its extensions instead of restricting itself to the academic Haskell-98 standard. Thank you for that!

EDIT: After having read some parts of the book a second (and third!) time, I have a few more good points to add. Some of the sections on monads are quite well-written actually. I also like that the authors pay attention to good, general programming practices such as "encapsulation". This is essential when writing scalable and realistic programs - no matter what language you use.

I still stand by my initial review. But I feel I was a little to harsh in the rating. So I'd like to give it one more star... but it doesn't seem like Amazon will let me do that. :/
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

[Add comment]
Post a comment
To insert a product link use the format: [[ASIN:ASIN product-title]] (What's this?)
Amazon will display this name with all your submissions, including reviews and discussion posts. (Learn more)
This badge will be assigned to you and will appear along with your name.
There was an error. Please try again.
Please see the full guidelines ">here.

Official Comment

As a representative of this product you can post one Official Comment on this review. It will appear immediately below the review wherever it is displayed.   Learn more
The following name and badge will be shown with this comment:
 (edit name)
After clicking on the Post button you will be asked to create your public name, which will be shown with all your contributions.

Is this your product?

If you are the author, artist, manufacturer or an official representative of this product, you can post an Official Comment on this review. It will appear immediately below the review wherever it is displayed.  Learn more
Otherwise, you can still post a regular comment on this review.

Is this your product?

If you are the author, artist, manufacturer or an official representative of this product, you can post an Official Comment on this review. It will appear immediately below the review wherever it is displayed.   Learn more
System timed out

We were unable to verify whether you represent the product. Please try again later, or retry now. Otherwise you can post a regular comment.

Since you previously posted an Official Comment, this comment will appear in the comment section below. You also have the option to edit your Official Comment.   Learn more
The maximum number of Official Comments have been posted. This comment will appear in the comment section below.   Learn more
Prompts for sign-in


Track comments by e-mail

Sort: Oldest first | Newest first
Showing 1-6 of 6 posts in this discussion
Initial post: 14 Jan 2009 10:53:57 GMT
Last edited by the author on 14 Jan 2009 11:01:41 GMT
[Customers don't think this post adds to the discussion. Show post anyway. Show all unhelpful posts.]

In reply to an earlier post on 15 Jan 2009 00:15:55 GMT
Per Velschow says:
No, that's not about right. I have no problem with real-world case studies, and I didn't say otherwise. It is the poor organization of case studies mixed with attempts at teaching general Haskell techniques that I criticize. It is *not* advertised as a book for experienced Haskell programmers - nor does it actually attempt to be that. I do think readers new to Haskell will find it rather frustrating to learn Haskell from this book.

I wonder how closely you read my review. I clearly stated that I initially found it refreshing that it did not use the "academic" approach that most other Haskell books do. Also, I don't see that there are "plenty of alternatives" if you want something that is upto-date and goes beyond the far too limited Haskell 98 standard. So contrary to what you might think, I would actually right now recommend this book to people wanting to write realistic programs in Haskell, since there are no real alternatives as far as I can tell.

Lastly, I'd recommend that people go to the book's website which actually has an online version of the entire book.

Posted on 17 Jan 2009 16:20:01 GMT
Last edited by the author on 17 Jan 2009 16:28:47 GMT
Actually you did say otherwise. You quite explicitly complain about the fact that it uses real examples as opposed to just teaching the language directly ("I have little interest in learning how to build a bar-code reader"). If you want to learn a language without having to understand real code, then you're better off with a more academic book (e.g. The Craft of Functional Programming).

To me the fact that they're using real examples is a selling point. Yes, maybe bar-code readers won't be terribly useful to me, but I don't see how spending a few minutes understanding something that I may never use is so terrible, if it gives me actual real code examples, as opposed to contrived "let's model shapes!"-examples like you typically see.

I read your review quite carefully, I just think it's a very poor one as you're giving a book 2/3 stars without actually having any real criticism, in fact your complaints are mainly things which are listed as selling points on the back of the book!

In reply to an earlier post on 17 Jan 2009 16:43:52 GMT
Per Velschow says:
The specific quote you refer to is actually rather irrelevant to my review. So I'll remove that one. Thanks for mentioning that. The rest of your answer just shows your inability to read both my review and the description of the book.

Btw, why don't you write your own review of the book?

Posted on 22 Jan 2009 09:52:10 GMT
You two should kiss and make up

Posted on 5 Jun 2009 18:51:59 BDT
C. Paterson says:
This review says everything I wish I could to the author - a slightly more abstract view of concepts would have helped.
‹ Previous 1 Next ›

Review Details



Location: Denmark

Top Reviewer Ranking: 8,904,375