or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $9.06 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Real-World Functional Programming: With Examples in F# and C# [Paperback]

Tomas Petricek , Jon Skeet
4.1 out of 5 stars  See all reviews (18 customer reviews)

List Price: $49.99
Price: $32.37 & FREE Shipping. Details
You Save: $17.62 (35%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 3 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Wednesday, May 29? Choose One-Day Shipping at checkout. Details

Formats

Amazon Price New from Used from
Paperback $32.37  
Unknown Binding --  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

January 22, 2010

Functional programming languages like F#, Erlang, and Scala are attracting attention as an efficient way to handle the new requirements for programming multi-processor and high-availability applications. Microsoft's new F# is a true functional language and C# uses functional language features for LINQ and other recent advances.

Real-World Functional Programming is a unique tutorial that explores the functional programming model through the F# and C# languages. The clearly presented ideas and examples teach readers how functional programming differs from other approaches. It explains how ideas look in F#-a functional language-as well as how they can be successfully used to solve programming problems in C#. Readers build on what they know about .NET and learn where a functional approach makes the most sense and how to apply it effectively in those cases.

The reader should have a good working knowledge of C#. No prior exposure to F# 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.


Frequently Bought Together

Real-World Functional Programming: With Examples in F# and C# + C# in Depth, Second Edition
Price for both: $61.90

Buy the selected items together
  • C# in Depth, Second Edition $29.53


Editorial Reviews

About the Author

Tomas Petricek discovered functional programming as a graduate 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 interned with the F# team at Microsoft Research, and he has developed a client/server web framework for F# called F# WebTools. His articles on functional programming in .NET and various other topics can be found at his web site tomasp.net.


Jon Skeet is a Java developer working for Google in London. He is a C# author and community leader, spending far too much time on the Stack Overflow developer Q&A site.


Product Details

  • Paperback: 500 pages
  • Publisher: Manning Publications; Pap/Psc edition (January 22, 2010)
  • Language: English
  • ISBN-10: 1933988924
  • ISBN-13: 978-1933988924
  • Product Dimensions: 7.4 x 1.1 x 9.2 inches
  • Shipping Weight: 2.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (18 customer reviews)
  • Amazon Best Sellers Rank: #340,234 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
21 of 21 people found the following review helpful
Format:Paperback|Amazon Verified Purchase
A hallmark of this book is a very pragmatic, Rosetta stone approach to F#.

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).
Comment | 
Was this review helpful to you?
13 of 15 people found the following review helpful
5.0 out of 5 stars Good Book. January 5, 2010
Format:Paperback
Functional Programming for the Real World, by Tomas Petricek and Jon Skeet,
introduces the functional programming paradigm by comparison to more traditional
imperative programming techniques. The first part of the book goes through many
common programming tasks and compares how you would implement them in the C#
programming language and then re-introduces the problem from a functional
perspective using F#. It introduces simple ideas such as recursion and how to
use recursion to simulate many iterative constructs to the idea of higher-order functions, all the while keeping the explanations and examples very clear. The
author also strives to instill good functional design practices in the reader by
introducing different ways to think of functional programs and common design
patterns that can assist in clean implementations.

The second half of the book dives into more advanced functional concepts, such
as lazy evaluation, efficiency, and continuations. It also takes a look at
using functional programming for practical tasks. Overall, this section is more
suited towards someone who understood the majority of the first half of the book, or to someone who is already familiar with functional concepts.

I would recommend this book to newcomers and intermediate programmers who are
looking to learn about or refine their functional programming skills. The
authors do a good job of covering the core material and also introduce a good
amount of advanced material towards the end of the book.
Was this review helpful to you?
10 of 11 people found the following review helpful
5.0 out of 5 stars Excellent tutorial with a unique approach January 12, 2010
Format:Paperback|Amazon Verified Purchase
I usually don't like tutorial-style books, but am finding this one invaluable. More than the other F# titles to date, it explores at length what makes functional programming different, and what this means in a .NET context. A unique feature is the running comparison of F# with both traditional and "functional style" C#. Code listings are nicely labeled with arrows pointing out important details. The book is not intended as a language reference, and only lightly touches on the imperative and object-oriented sides of F#, or contents of standard .NET libraries, but this allows a more leisurely and thorough treatment of the distinctively functional concepts and their implications for program design. Highly recommended.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
2.0 out of 5 stars A verbose introduction to functional programming
The prose of the book is well written. If you consider yourself the kind of person who reads quickly but needs a lot of context and explaination to really understand a topic,... Read more
Published 1 month ago by Henrik
4.0 out of 5 stars In-depth exploration of F#, but not very focused or practical
SUMMARY
As an experienced programmer that has encountered functional concepts before in Javascript, Ruby or Python, I found this book slow and impractical. Read more
Published 14 months ago by Shashikant Penumarthy
2.0 out of 5 stars Mediocre, at best
There aren't too many good books on functional programming, and this one does not help with the situation. Read more
Published 16 months ago by Serendip
3.0 out of 5 stars Introduction to F# coming from C#
The title should read "Introduction to F# coming from C#, with some real-world examples in functional programming. Read more
Published 16 months ago by cptsm80
2.0 out of 5 stars Verbose and repetitive
The core content is fairly good, but it is ruined by the exposition: the same concepts are repeated multiple times in different places (e.g. Read more
Published 16 months ago by Michele Mottini
5.0 out of 5 stars Earn Your Black Belt in .NET 4.0 and Beyond
Seeing the writing on the wall with the latest features of the .NET framework, I set about on a quest to learn functional programming awhile back. Read more
Published 23 months ago by Smacco
5.0 out of 5 stars I not only gained a whole new understanding of F#, but also learned...
This book goes out of the way to make C# developers feel comfortable with the new .NET language. I would recommend this book to anyone who is trying to get out of the same old... Read more
Published on February 22, 2011 by John Mclintire
4.0 out of 5 stars Great book for understanding the rationale behind F#
I agree with other reviewers that this book is great in getting you through the ins and outs of why things are done the way they are in F#. Read more
Published on February 20, 2011 by coffee_fan
5.0 out of 5 stars More than just a fine introduction to functional programming and F#...
This book is more than just a really good introduction to functional programming and much more than just a primer on F#. Read more
Published on January 19, 2011 by Craig McMurtry
5.0 out of 5 stars Amazing book
Probably one of the most interesting book about functionality programming, with incredible easy language.Thank a lot to authors.
Published on May 11, 2010 by Bliacher Evgeniy
Search Customer Reviews
Only search this product's reviews


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

Topic From this Discussion
Early Review Be the first to reply
Have something you'd like to share about this product?
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Search Customer Discussions
Search all Amazon discussions


So You'd Like to...


Create a guide


Look for Similar Items by Category