Functional programming is perhaps the next big wave in application development. As experienced developers know, functional programming makes its mark by allowing application builders to develop solutions to complicated programming situations cleanly and efficiently. A rich history of functional languages, including Erlang and OCaml, leads the way to F#, Microsoft's effort to bring the elegance and focus of functional programming into the world of managed code and .NET. With Beginning F# , you have a companion that that will help you explore F# and functional programming in a .NET environment. This book is both a comprehensive introduction to all aspects of the language and an incisive guide to using F# for real-world professional development. Reviewed by Don Syme, the chief architect of F# at Microsoft Research, Beginning F# is a great foundation for exploring functional programming and its role in the future of application development. F# is the future of programming (not just on .NET), and the future is now. If you are already familiar with functional programming, you'll find Beginning F# a great introduction to the language itself. If you are new to the FP arena, this book will also serve as a superb reference to FP in general and F# specifically. The Beginning series from Apress is the right choice to get the information you need to land that crucial entry–level job. These books will teach you a standard and important technology from the ground up because they are explicitly designed to take you from “novice to professional.” You’ll start your journey by seeing what you need to know—but without needless theory and filler. You’ll build your skill set by learning how to put together real–world projects step by step. So whether your goal is your next career challenge or a new learning opportunity, the Beginning series from Apress will take you there—it is your trusted guide through unfamiliar territory!
Beginning F# goes through the basics of F#. You'll get an basic understanding of classes(and methods, properties, constructors, etc), list handling, control flow, imperative programming and some F# specific libraries.
However the really interesting F# stuff -- event handling, reactive programming, workflows and message passing -- are only briefly explained. I guess it really is a book for "Beginning F#", but I somehow hoped for more. Lots of pages are spent on showing how to do WinForm GUIs, and listing the WinForm's API, something I think is just a waste of pages.
Pickering claims that you don't even need a programming experience, although experience of either C# or VB.NET "would be nice". I would strongly recommend a working knowledge of C# or VB.NET, or at least an OO language; not much time is spent on explaining such basics.
I'm still looking for the ultimate F# book, the book that expects you to have a firm understanding of C# or VB.NET, and goes through how F# does those things, but most importantly the things only F# offers.
All in all, the book isn't bad, but it really is just for beginning F#, you will soon ask for more.