Free Downloads
The Book Of F#: Breaking Free With Managed Functional Programming

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 to: Exploit F#'s functional nature using currying, partial application, and delegationStreamline type creation and safety with record types and discriminated unionsUse collection types and modules to handle data sets more effectivelyUse pattern matching to decompose complex types and branch your code within a single expressionMake your software more responsive with parallel programming and asynchronous workflowsHarness object orientation to develop rich frameworks and interact with code written in other .NET languagesUse query expressions and type providers to access and manipulate data sets from disparate sources Break 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.

Paperback: 312 pages

Publisher: No Starch Press; 1 edition (March 16, 2014)

Language: English

ISBN-10: 1593275528

ISBN-13: 978-1593275525

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).

The Book of F#: Breaking Free with Managed Functional Programming Managed Care: What It Is and How It Works (Managed Health Care Handbook ( Kongstvedt)) Programming #8:C Programming Success in a Day & Android Programming In a Day! (C Programming, C++programming, C++ programming language, Android , Android Programming, Android Games) Programming #57: C++ Programming Professional Made Easy & Android Programming in a Day (C++ Programming, C++ Language, C++for beginners, C++, Programming ... Programming, Android, C, C Programming) The Allergy Self-Help Cookbook: Over 350 Natural Foods Recipes, Free of All Common Food Allergens: wheat-free, milk-free, egg-free, corn-free, sugar-free, yeast-free Programming #45: Python Programming Professional Made Easy & Android Programming In a Day! (Python Programming, Python Language, Python for beginners, ... Programming Languages, Android Programming) WHEAT BELLY DIET FOR BEGINNERS: Grain-Free, Wheat-Free, Gluten-Free Cookbooks and Recipes For Weight Loss Plans and Solutions Included! (Wheat Free Grain Free Gluten Free Weight Loss Diet Book 1) Easy Breadmaking for Special Diets : Wheat-Free, Milk- And Lactose-Free, Egg-Free, Gluten-Free, Yeast-Free, Sugar-Free, Low Fat, High To Low Fiber Yummy Yum for Everyone: A Childrens Allergy Cookbook (Completely Dairy-Free, Egg-Free, Wheat-Free, Gluten-Free, Soy-Free, Peanut-Free, Nut-Fre R Programming: Learn R Programming In A DAY! - The Ultimate Crash Course to Learning the Basics of R Programming Language In No Time (R, R Programming, ... Course, R Programming Development Book 1) Programming: Computer Programming for Beginners: Learn the Basics of Java, SQL & C++ - 3. Edition (Coding, C Programming, Java Programming, SQL Programming, JavaScript, Python, PHP) Raspberry Pi 2: Raspberry Pi 2 Programming Made Easy (Raspberry Pi, Android Programming, Programming, Linux, Unix, C Programming, C+ Programming) Android: Programming in a Day! The Power Guide for Beginners In Android App Programming (Android, Android Programming, App Development, Android App Development, ... App Programming, Rails, Ruby Programming) DOS: Programming Success in a Day: Beginners guide to fast, easy and efficient learning of DOS programming (DOS, ADA, Programming, DOS Programming, ADA ... LINUX, RPG, ADA Programming, Android, JAVA) ASP.NET: Programming success in a day: Beginners guide to fast, easy and efficient learning of ASP.NET programming (ASP.NET, ASP.NET Programming, ASP.NET ... ADA, Web Programming, Programming) C#: Programming Success in a Day: Beginners guide to fast, easy and efficient learning of C# programming (C#, C# Programming, C++ Programming, C++, C, C Programming, C# Language, C# Guide, C# Coding) FORTRAN Programming success in a day:Beginners guide to fast, easy and efficient learning of FORTRAN programming (Fortran, Css, C++, C, C programming, ... Programming, MYSQL, SQL Programming) Prolog Programming; Success in a Day: Beginners Guide to Fast, Easy and Efficient Learning of Prolog Programming (Prolog, Prolog Programming, Prolog Logic, ... Programming, Programming Code, Java) Parallel Programming: Success in a Day: Beginners' Guide to Fast, Easy, and Efficient Learning of Parallel Programming (Parallel Programming, Programming, ... C++ Programming, Multiprocessor, MPI) Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques