F# brings the power of functional-first programming to the .NET Framework, a platform for developing software in the Microsoft Windows ecosystem. If you're a traditional .NET developer used to C# and Visual Basic, discovering F# will be a revelation that will change how you code, and how you think about coding.In The Book of F#, Microsoft MVP Dave Fancher shares his expertise and teaches you how to wield the power of F# to write succinct, reliable, and predictable code. As you learn to take advantage of features like default immutability, pipelining, type inference, and pattern matching, you'll be amazed at how efficient and elegant your code can be.You'll also learn how F#'s functional nature using currying, partial application, and delegation-Streamline type creation and safety with record types and discriminated unions-Use collection types and modules to handle data sets more effectively-Use pattern matching to decompose complex types and branch your code within a single expression-Make your software more responsive with parallel programming and asynchronous workflows-Harness object orientation to develop rich frameworks and interact with code written in other .NET languages-Use query expressions and type providers to access and manipulate data sets from disparate sourcesBreak free of that old school of programming. The Book of F# will show you how to unleash the expressiveness of F# to create smarter, leaner code.
I have a few years experience in F# programming, and was skimming this book as it was in a recent HumbleBundle that a few of my colleagues from work purchased.
The good part first: It isn't you telling anything that's wrong, and it also explains F# well enough that you can read and start writing F# applications on your own. So it deserves its two stars. But I recommend **avoiding** this book. I hope I have read this book so that you don't need to.
It reads like a marketing powerpoint on the features of F# in book form and separated into chapters. Disappointing.
To be more explicit, in case you read this review with some use-case in mind:
* It is not a quick tutorial. (Too long to get started, bad examples) * It is not a cheet-cheat. (Too long/fluffy, not correct structure or index, glances over typical problems of C# devs with F#) * It does not teach functional programming. (Not suited for a C# dev who wants to learn some basics to see if it's worthwhile trying out) * It doesn't teach programming in general. (Not suited as a real beginners book.) * It does not explain how F# works. (It provides syntax translations for .NET, and a feature-list, but not the structure of the type-system, type-deduction, etc. -- it will keep you cleaning up after compiler errors, instead of teaching F# in a way that you don't have those in the first place). * It keeps referring to future sections, and give advice without deep explanations. (This is just bad teaching -- you will be able to learn all later on your own, but in that case, _why read this book at all?_). * It does not show how to resolve C#/F# interop issues in sufficient detail. (It shows some issues, but it doens't give credit to the practical implications. You will end up with wrong expectations.) * It religiously shows F# features even when they are not that helpful. (The MailboxProcessor is nice, but most often when you want it, you need a better library.)
To summarize, this book is a bad C# syntax-translation table plus some marketing material.
Maybe I've been spoilt with programming books like "Practical Common Lisp" (Seibel), "CLR via C#" (Richter), or "Effective C++" (Meyers), and so do not appreciate the value of "regular" works. So be it then. I recommend checking out the resources at , start a single project in F#, and use the MSDN reference on all issues. After a week you'll write F# as productive as C#, and after a month or two at most you'll already reap the benefits.
I've been trying to learn F# for a while now. I have no pressing need to learn it, so I've been working on it on and off for about a year, when I have some spare time. I finished "The Book of F#" recently. I've found it to be a well-written introduction to the language.
The author uses good examples, not too simple and not too complicated. Most of the book is quite easy to follow. The last couple of chapters, on async/parallel programming and computational expressions, are a bit hard to follow, but I think that's more my fault than the author's.
I only bought the ebook version of this title, but if I were going to be doing a lot of F# programming, I think I'd go ahead and order a hard copy too, to keep handy for reference.
This book inside look like its cover is :) - it is quick jump into F# development. Personally I life bigger books about big topics like functional programming. This book is not for .NET beginners and is not deep dive also but it is my first book by F# and it is some quick start for me :)
A great overview and introduction to the language. Glosses over some of the changes in the evolution of the language, so best of you're new to functional programming and are using the latest version of F#
This is a great introduction to F# and by extension functional programming. The primary downside of the book is that like many coding texts, it’s fairly dry.