Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$49.99$49.99
FREE delivery
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $30.00
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the authors
OK
Real-World Functional Programming: With Examples in F# and C# First Edition
Purchase options and add-ons
Real-World Functional Programming is a unique tutorial that explores thefunctional programming model through the F# and C# languages. The clearlypresented ideas and examples teach readers how functional programming differsfrom other approaches. It explains how ideas look in F#-a functionallanguage-as well as how they can be successfully used to solve programmingproblems in C#. Readers build on what they know about .NET and learn wherea functional approach makes the most sense and how to apply it effectively inthose cases.
The reader should have a good working knowledge of C#. No prior exposure toF# or functional programming is required.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
- ISBN-101933988924
- ISBN-13978-1933988924
- EditionFirst Edition
- PublisherManning
- Publication dateJanuary 25, 2010
- LanguageEnglish
- Dimensions7.38 x 1.2 x 9.25 inches
- Print length500 pages
Frequently bought together

Customers who viewed this item also viewed
Product details
- Publisher : Manning; First Edition (January 25, 2010)
- Language : English
- Paperback : 500 pages
- ISBN-10 : 1933988924
- ISBN-13 : 978-1933988924
- Item Weight : 2 pounds
- Dimensions : 7.38 x 1.2 x 9.25 inches
- Best Sellers Rank: #1,418,462 in Books (See Top 100 in Books)
- #280 in C# Programming (Books)
- #899 in Computer Programming Languages
- #60,307 in Unknown
- Customer Reviews:
Important information
To report an issue with this product or seller, click here.
About the authors

Discover more of the author’s books, see similar authors, read author blogs and more

Tomas Petricek discovered functional programming as a student at Charles University in Prague. He has been a Microsoft C# MVP since 2004 and is one of the most active members in the F# community. In addition to his work with F#, he has been using C# 3.0 in a functional way since the early previews in 2005. He is currently a graduate student at the University of Cambridge and has worked on several projects with the F# team at Microsoft Research.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Since F# lives in .Net, and .Net is inherently object-oriented; it makes sense to understand something of the mapping that takes place behind the scenes when F# code is mapped into the .Net world.
Many of the interesting new features introduced into C# are actually hand-me-downs from FP (functional programming). This includes generics, LINQ, anonymous methods, lambdas, type inference, etc.. Since many programmers need to use C# in the work-a-day world, it makes sense to understand the functional elements of C# by seeing them in a functional language like F#, where they can be seen in their purest (least hobbled) state. Once these concepts are understood, it is then much easier to understand how to wield these tools effectively in C#.
That said, there are also limits to how much functional programming can be done in C# (and how effectively it can be accomplished). This book clearly demarcates the boundaries of what is (and isn't) feasible in C# vis-à-vis functional programming.
One of the things I liked best about this book is the discussion on why functional programming makes code easier to read, write, and verify. This discussion does not appeal to what might be (for many) inaccessible theory (i.e. denotational semantics, category theory, etc.). Instead it is demonstrated in amazingly simple, straightforward ways! This discussion is very effective.
Another facet of this book's approach that I applaud is the demonstration of lambda calculus. Why would a practical book dabble in theory? There's actually a very pragmatic payoff in doing this: functional programming has a lot of underpinnings in lambda calculus. Those that have been exposed to lambda calculus will feel right at home in F#. Those that haven't are likely to feel more "culture shock" when being exposed to concepts like currying and lazy evaluation. Functional programming really does represent a substantially different way of thinking about computation.
This book also features an excellent discussion about design patterns; comparing and contrasting how they are implemented in OOP (object-oriented programming) versus FP. Some classic design patterns in OOP essentially come for free in FP (e.g. the "visitor" pattern).
What has really struck a nerve in me is how much greater appreciation I have for the weaknesses that C#/OOP can present. For example, the author's discussion of side effects and mutability (OOP programmers accept this an move on), were placed in a new (and insidious) perspective for me. Have any of you studied the many functional influences grafted into the C# language (e.g., generic delegates, LINQ) and thought, "There's some larger perspective here I'm not being told?" (Almost like a joke you're not being let in on?) This book gives you that larger perspective. I have already had many moments of revelation.
Will this book compel me to abandon C#? Will it convince me to take up F#? I really don't know, and I don't care. Fundamentally, this book is giving me a fresh perspective into C#, and the book is well worth the price of admission right there. To the extent that I'm also learning functional programming concepts, all the better!
I also offer my thanks to Manning, who has put together a mind-blowing collection of C# titles. Thanks so much!
[Full disclosure: I'm a non-professional, enthusiast programmer (C#/WPF), so qualify my opinion with that perspective.]
I would like to recommend it to any .Net developer like me whom wants to discover and learn functional programming without much compromise.
This is not a book to teach you F#, it'll explain a lot and you'll be able to use some F#, but the main focus is the FUNCTIONAL PROGRAMMING, which is awesome.
Very well written, objective and touched the most important concepts of functional programming (closures, partial application, explained BIND to me, 1st order functions, tail recursion).
If you like what you read you can go further. Best intro I have found to .Net devs.
I'll finish saying, i cannot remember my old mindset before this book.
Buy it.
Top reviews from other countries
Ce livre m'avait été conseillé et la Personne qui l'a eu était très contente. Je recommanderai si l'occasion se présente.
This is best described as a functional programming course rather than a reference book and it is structured accordingly; the four parts: "Learning to think functionally", "Fundamental functional techniques", "Advanced F# programming techniques" and "Applied functional programming" provide a very thorough basis for becoming a functional programming professional. I think this book is mainly aimed at people taking their first tentative steps into the functional programming world - probably from an imperative language like C#. The first part is a gentle but thorough exploration of the functional programming paradigm and how it differs (immutability, compositionality) from imperative languages. Functional language concepts are the ideal solution to a number of programming tasks and we see how many functional concepts are finding their way increasingly into imperative languages (LINQ, Lambdas in C# for example). By the time we reach the end of part three "Advanced F# programming techniques" we have looked at functional design in different arenas (Data-Driven/Behaviour-Driven); how to program efficiently in functional languages (and where to benefit from the multi-paradigm F# language to improve efficiency via mutability whilst remaining functional by hiding this mutability); we explore, pragmatically but in some depth, the scary concept of monads and use these concepts to write our own monadic types (computation expressions in F#). At this stage you should be feeling very confident, so we can safely move on to the final section which looks at a number of real world programming problems and how to solve them functionally (particularly asynchronous and parallel techniques).
The book is crammed with all the code snippets you will need up to the final section at which point you are given the main features but left to flesh out the body of the code yourself (assuming you are coding the examples); however, all the completed solutions are available online should you want to refer to them (I recommend doing this anyway).
I've been a C# programmer for many years but since developing an interest in F# 18 months ago this has been by far the best book I've read, not only on F# but on the wider functional programming concepts; but even if you only ever intend to stick with imperative languages, the functional concepts explained in this book will surely improve your code.



