Paperback: 312 pages
Publisher: No Starch Press; 1 edition (March 16, 2014)
Product Dimensions: 7 x 0.6 x 9.2 inches
Shipping Weight: 1.3 pounds (View shipping rates and policies)
Average Customer Review: 4.2 out of 5 stars See all reviews (13 customer reviews)
Best Sellers Rank: #456,876 in Books (See Top 100 in Books) #48 in Books > Computers & Technology > Programming > Functional #318 in Books > Computers & Technology > Programming > Microsoft Programming > C & C++ Windows Programming #1698 in Books > Textbooks > Computer Science > Programming Languages
[Disclaimer: I've received a free copy of this book for reviewing]I've read a lot of books on F# over the past several years, and I would recommend this book to anyone, especially those wanting to start learning the language and have some programming experience. Dave Fancher covers a lot of ground in this book, including object-oriented and functional styles of programming, pattern matching, quotations, computation expressions, and type providers, to name a few. In addition, Fancher's style is easy to follow and fun to read.A few things to consider:1. If you are new to programming, this book will not meet all your needs. Fancher compares a F# with other styles of programming, especially C#.2. If you know F# well, you may pick up a few new tricks. I did, and I was glad to have read the book; however, you may want to look for something more advanced like Expert F# or F# Deep Dives.3. I would have liked a bit more meat in the sections on quotations, computation expressions, and type providers. The section on quotations is one of the best in any books I've read. The section on computation expressions showed a good example but didn't list out everything that can be done with the feature. Finally, type providers were discussed, but their creation was left out.If you are just beginning to explore F#, this is the book for you.
Disappointed... I found that this book wasn't in depth enough to be a reference but too short on whys and hows to be an instructional book. I suppose that if you've already read an F# reference or two and wanted to reinforce your knowledge then this book would be a good fit. For me, I was hoping for something that would help me "think functionally" and it didn't do that for me since it was more about language features than how best to use those features. That said it didn't explain the language features as clearly and precisely as I would have liked. Maybe this is just a case of unrealistic expectations on my part based on prior reviews.
This book is fantastic! I had little F# experience going into this book and found the basics of the language easy to understand and fun to read. Dave does an excellent job explaining F# from syntax, types, and its functional nature all the way through complex topics like quoted expressions and asynchronous programming. The occasional Dr. Who reference is sure to catch the eye in his exciting code samples. As a C# developer I really appreciated Dave's chapter that focused on comparing F#'s APIs to C#'s. I feel confident in adding F# to any of my pre-existing C# projects right away. One thing that I found very intriguing was Dave's focus on using F# for regular application development not just math! F# is not just a niche language for the scientific world, but is a way to help develop extremely testable and reliable code in everyday applications.I highly recommend Dave Fancher's "The Book of F#" to every .NET developer. Even if the developer does not adopt F# the lessons taught by the language are invaluable and will make them a better .NET developer in whichever language they use.-Danny WarrenMS MVP Client DevelopmentNokia ChampionInterKnowlogy Sr. Software Engineer
[Disclaimer: I've received a free copy of this book for reviewing]For a couple of years, I've been wanting to take a deep look at F#. Unfortunately, work and my lack of knowledge in the functional area kept me away from it because most of the books I've seen explain F# for the guy that has (at least) some experience with functional programming.Fortunately for me, Dave has taken the time to write The Book of F#. This book is great if you're coming from other languages and you don't grasp the basics about functional programming. Besides teaching you the syntax, the author will also introduce you to the main concepts related with functional programming and it will even compare the approach used in F# with what you'd need to do in C#.I've just finished reading the book, so there's still a lot to take in. However, I can assure you that the contents are good and that I'll be using this book daily when I start my next project with F#.Overall, I'm giving it a 9/10.
This book provides a clean and concise intro to F# for beginners covering almost every aspect of the language. I think it might actually be the first to have reasonably in-depth coverage of quotations. The only downside to this book is that it doesn't have any assignments for the user to do as they learn (the vast majority don't). Overall, a well worthwhile read for the experienced C# developer looking to learn F#.
I really like LINQ.LINQ is the functional side of C#, and it's my favorite part. I love making extension methods so I can keep the dot-chain going. Naturally I was interested in F#. It's the "functional C#", right?This book starts great in chapter 1 with getting setup and 'writing' a first app. Happily, it was not another boring "Hello World": it was a full Reverse Polish Notation calculator! It took up half a page and looked delightfully strange to my C# trained eyes: there were so many things I didn't understand. Don't worry if you don't understand it, Dave says, because this demos all the cool features you get to learn. And then I wanted to read the whole book, just to understand all those awesome new things.Oddly (but, in retrospect, brilliantly), "Fundamentals" is not chapter 2, it's 3. Chapter 2 is "F# Interactive." The FSI is a terminal window in Visual Studio that can run arbitrary pieces of F# code. It's amazing… well, just read the book. It's too much for me to explain here, but it's great. I use it even in C# development if I need a random number or a GUID. Basically any .NET class you can new up (or statically call), you can type into FSI to get a quick output. It's really handy.So the big question: have you written anything in F#? I have to hang my head in shame as I answer "no." But I'm confident that it will be "yes" very soon now that I've read this book. I've got a hammer and everything is starting to look like a nail.Disclosure: I won this book in a raffle at a tech meetup. It has been signed by the author (in pen) and my child (in purple crayon).