tags:

views:

351

answers:

4

I'm thinking of buying Expert F# (Expert's Voice in .Net) - http://www.amazon.com/Foundations-F-Experts-Voice-Net/dp/1590597575/ref=pd_bbs_sr_3?ie=UTF8&s=books&qid=1229527045&sr=8-3

I'm a fairly accomplished C# developer looking to learn F#. What are you views on this book and is there perhaps a better F# book out there?

+4  A: 

For a fairly accomplished C# developer, Expert F# is the best book to learn F#.

The book is elegant, fun & practical.

The examples are genuinely interesting. My favorite ones are in chapter 9, Introducing Language-Oriented Programming: probabilistic workflows, schema compilation by reflecting on types, and using F# quotations for error estimation.

The book will really help you master techniques specific to F# and functional programming in general. For example, there's a section called "Using Continuations to Avoid Stack Overflows". Like the rest of the book, it's very clear and insightful.

(One issue is that the book was written before the F# CTP, so some of the examples might not work with the latest release. However, it is usually rather straightforward to update the samples.)

So, yes. Get this book and have fun :)

namin
+2  A: 

I've read this book and foundations of F#. Both are good books. But I felt both of them lacked the one thing that I truly wanted to understand about F#, the raw syntax. Both of course go into the syntax of the constructs but I felt they also both left a lot to be desired in terms of understanding how the pieces fit together.

After reading those books, I found the next best resource was the F# spec. I highly suggest you download it vs. looking at it on the web. It's a great resource and answered most of the questions I had about particular constructs that were giving me problem.s

JaredPar
+1  A: 

Another ressource I can recommend is Real World Functional Programming by Tomas Petricek.

It teaches you Functional Programming in General, based on F# and a bit C#. (If you have a solid knowledge in functional programming it may not be necessary, but it helps a lot in grasping the general concepts in my opinion.)

David Klein
+1  A: 

In short: Yes.

I bought both 'Expert' and 'Foundations'. I think the two books nicely complement one another, but if I had to buy just one, I'd get 'Expert' before 'Foundations'. ('Expert' is written by the language implementation team.)

If you are new to functional programming, neither of these books will help you much with the shift in thinking from imperative to functional programming. Don't let that be a barrier to buying the book though. For that, I am told that Petricek's book is a great launching point.

Greg Krekelberg