Thursday, April 02, 2009

Book Review: Real World Haskell

"Real World Haskell? Isn't that an oxymoron?" I heard the question asked in one way or another many times as I lugged the book between meetings (looking for spare minutes to read it). As the authors explained in my Real World Haskell interview, Functional Programming languages generally and Haskell specifically, might have once be confined to the ivory tower but no longer. And this book is one great way to help bring the benefits of haskell to your coding projects.

I'm still not sold on Static vs. Dynamic Typing, and Ruby remains my language of choice, but I've got to say that Haskell is not nearly as intimidating as it once was. Maybe with enough intentional use it will be a tool I reach for more often without having to think about it.

Real World Haskell is a big, solid book with a lot to commend it. It's well organized, easy to read, and loaded with good examples. Best of all, it's written by long-term members of the Haskell community, so you're getting idiomatic code and well reasoned explanations by guys who have been there. The only down side is a somewhat weak index.

If you're a rubyist looking to understand more about Haskell or Functional Programming in general, this is the book for you. In fact, if you're a rubyist, you should be looking at this kind of book in general. I can't wait to see RWH reading groups start up within Ruby Brigades ... it will certainly make us better programmers.

Click here to Tweet this article

This post is sponsored by Cowork Utah, a member-based alternative for “cubicle adverse”solopreneurs, writers, web developers, designers and other independents who prefer working in a stimulating environment away from home. We’re free agents who collaborate while maintaining our autonomy. Specifically, our primary focus revolves around web 2.0 social media tools and strategies.


James Britt said...

I've slowly been going through RWH, and it's quite good.

A key point for people coming to Haskell from a dynamic language is that modern languages offer a range of different kinds of dynamic and different kinds of static.

If "static typing" makes you think of Java or C++, with tons of boilerplate good, you're in for a treat with the Haskell type system.

Even for folks who prefer Ruby, getting your head around fundamentalist functional programming will make you a better programmer.

Paul Barry said...

I've been going through this book as well. For anyone planning on doing that, I recommend first going through the tutorial called "Learn You A Haskell" (LYAH). Rubyists will love it because it will remind you of Why The Lucky Stiff's Poignant Guide To Ruby, only it actually does a much better job of teaching you the language. LYAH does a much better job of explaining the core concepts of Haskell than RWH does, IMHO. Now that I've read most of LYAH, I've been going back through RWH and I'm having a much easier time understanding the content and coming up with solutions to the exercises.

I'm not saying that RWH isn't a good book, it's a great book and it's exactly what's needed in the Haskell community to help Haskell break free from the reputation of being an academic language. But to get started with Haskell, install ghc and read Learn You A Haskell first.