Author: Chris Smith
Aimed at: Developers who are familiar with another language
Pros: Fairly advanced treatment of an interesting language
Cons: Not suitable for beginners
Reviewed by: Ian Elliot
F# is an interesting language and this book does as much as it can to make it so. However, if you are a beginner then this is perhaps not the best place to start. The trouble is that the author understands the material all too well and doesn't seem to have much idea of what a beginner needs to know and in what order. This leads him to explain an idea and then pick an example that is interesting in some other way than just illustrating the new idea. In fact many of the examples use ideas that aren't introduced until later in the book and this makes it hard to understand unless you are prepared to do some additional work. Even then if you are unsure of the concepts involved you might not be sure you have understood the point being made. On the other hand if you are fairly confident of the ideas involved in even one other language then perhaps the flashy examples will impress and educate.
The book deals with the different ways that F# can be used – functional, imperative and object-oriented. It also covers the practical details of working with .NET. The second part of the book deals with more advanced topics – scripting with F#, asynchronous and parallel programming, reflection and quotations.
The second part of the book is probably more successful in the first in that it is aimed at the advanced user who is more likely to cope with the presentation.