First off, the typical disclaimer applies, I have received a free copy of the book in exchange for the review. This time, the book is Programming F# 3.0 by Chris Smith.
This book was a challenge for me. F#, like Haskell or other languages is written to use a completely different paradigm; functional programming. Coming from an imperative programming world, this really is different for me. I’m used to the structure and type casting from C# and C++. So this is a world changer for me. However, the book is written well, especially for being dense, as in trying to put a lot through the pages. Mr. Smith also does a very good job peppering the text with examples and encourages the reader to work from the FSI (F# Interactive Console) in VIsual Studio 2012 Express. You start very small with the basics and work through to building some very interesting stand alone pieces.
The only negative for me is that I did not see how to tie anything of my own back into what I’m learning. That is the fault of the reader over that of the writer. Mr. Smith really wants to show you that you can understand and learn F# and how you can combine functional and imperative programming to create something which is more robust and uses less code. For me, as a daily .NET developer, I really am intrigued and will continue to refer to this book in order to really learn it in depth and master it to the point I can build my own business apps in this to see what I can do.
This is a very complete book. I would recommend it heartily if you want to delve deeply into a functional programming language and master it. If you are interested in learning the basics and understanding the concepts, start with the link above to the definition and explanation, branch into something that will start small, and then jump into this, especially if you work and live in the .NET world. You won’t go wrong with it.!