22 of 22 people found the following review helpful:
4.0 out of 5 stars
Love it!, May 18, 2001
This review is from: Haskell: The Craft of Functional Programming (2nd Edition) (Paperback)
This was my first text on Haskell, and it certainly got me up to speed on all the essential elements. I prefer Hudaks text for most things, but there is no good reason not to own every Haskell book you can get your hands on. This book is especially strong on learning how to prove things about programs.
It doesnt get to Monads until near the end, but perhaps that is a good thing. It depends on what you want out of a text.
I used this text for self study, and it is well suited to such a task.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
21 of 21 people found the following review helpful:
4.0 out of 5 stars
Review from a first-year computer science perspective, March 18, 2006
This review is from: Haskell: The Craft of Functional Programming (2nd Edition) (Paperback)
Most of the reviewers for this text so far seem to be more experienced programmers or computer scientists. So I am writing this review to give a different perspective.
My uni has this year chosen Haskell as the INTRODUCTORY language, apparently because it:
1) Is a clear implementation of some fundamental programming concepts
2) Puts everyone on an equal footing, since no-one is likely to have studied it (or even another functional language) before.
I have little formal background but have been messing around with scripting languages like TCL for a couple of years.
The initial transition to thinking from a functional perspective seemed very difficult. The idea of recursion as opposed "just sticking it in a loop" took a while to stick.
But I have found simply by working through the book I have progressed quickly and in only a few weeks it has become quite natural to think in a Haskell way.
I attribute this to the excellent layout of the book, but more importantly the frequent exercises provided throughout each chapter. As my lecturer is fond of saying, practice is the only way to learn programming, and it is by exploring the introduced concepts in this way that I feel my learning of Haskell has been most effective.
The book is paced, if anything, a little slowly. But since I am someone who likes to gain a thorough understanding of topics I don't mind this. The exercises themselves are well thought out and tend to offer an increasing amount of challenge. Something that conceptually seems trivial can be given an interesting twist when it comes to writing a function.
I suppose experienced programmers may have covered similar kinds of exercises in other languages so it may not be quite so interesting, and they will be more wrestling with the mechanics of Haskell than gaining theorertical insights. However this highlights it's usefulness to a beginning programmer.
It has been said that learning a functional language increases your abilities in other languages. Whether this is true for me I haven't discovered yet, but certainly it has given me far more insight than I could have got from a scripting langauge about what is actually happening in a program.
This really is a well-written and surprisingly accessible book considering the typical Haskell programmer. I can highly recommend it.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
19 of 20 people found the following review helpful:
4.0 out of 5 stars
An interesting introduction, January 17, 2001
This review is from: Haskell: The Craft of Functional Programming (2nd Edition) (Paperback)
I read this book as my first book towards learning functional programming and Haskell specifically. With many years of (imperative and object oriented) software engineering behind me, the concept of functional programming was interesting.
The good parts of this book are that it is extremely well organized. It includes many helpful exercises (which I highly recommend) and a very good introduction (the first ten or dozen chapters).
Later on in the book, however, I found increasing difficulty. The author picks up the pace of the material without, in my opinion, justification. By the end, he covers what, from reading several other books and many online articles, I consider the most confusing topic in a single chapter or two. Reading it several times, I'm still uncertain how to build an I/O intensive program in Haskell, and/or what a Monad truly is and/or how exception processing is properly handled.
That notwithstanding (because it seems to be a fairly common complaint of new Haskell students) I quite enjoyed the book. Before you buy it, though, you may wish to consider books from Paul Hudak (a Yale professor and nice guy) and Richard Bird, both of whom have written on Haskell; Paul actually taught a class which I avoided back in the early 90s - too bad, too, because then I wouldn't have to start from scratch so many years later.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No