Programming Books C Java PHP Python Learn more Browse Programming Books
Qty:1
  • List Price: $49.99
  • Save: $15.01 (30%)
FREE Shipping on orders over $35.
Only 20 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
FREE Shipping on orders over $35.
Condition: Used: Good
Comment: Solid used copy with visible wear. May be former library book. FREE SHIPPING w/AMAZON PRIME!
Access codes and supplements are not guaranteed with used items.
Trade in your item
Get a $5.00
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Real-World Functional Programming: With Examples in F# and C# Paperback – January 25, 2010

ISBN-13: 978-1933988924 ISBN-10: 1933988924 Edition: 1st

Buy New
Price: $34.98
31 New from $27.50 25 Used from $15.46
Amazon Price New from Used from
Paperback
"Please retry"
$34.98
$27.50 $15.46
Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Frequently Bought Together

Real-World Functional Programming: With Examples in F# and C# + Programming F# 3.0 + Expert F# 3.0 (Expert's Voice in F#)
Price for all three: $129.43

Buy the selected items together

NO_CONTENT_IN_FEATURE

Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now

Product Details

  • Paperback: 500 pages
  • Publisher: Manning Publications; 1 edition (January 25, 2010)
  • Language: English
  • ISBN-10: 1933988924
  • ISBN-13: 978-1933988924
  • Product Dimensions: 7.5 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 (19 customer reviews)
  • Amazon Best Sellers Rank: #201,073 in Books (See Top 100 in Books)

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 Senior Software Engineer at Google, working in London. He has been involved in the C# community since 2002, initially in newsgroups, then through his blog, user groups, international conferences and the Stack Overflow Q&A site. Jon enjoys putting the language through its paces, finding new and interesting ways to use and abuse it.


More About the Authors

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

Customer Reviews

4.1 out of 5 stars
5 star
11
4 star
3
3 star
1
2 star
4
1 star
0
See all 19 customer reviews
A unique feature is the running comparison of F# with both traditional and "functional style" C#.
anonymous
The book is focused around teaching the core concepts of functional programming and the practical applications thereof.
Craig McMurtry
Once these concepts are understood, it is then much easier to understand how to wield these tools effectively in C#.
Andre M. Van Meulebrouck

Most Helpful Customer Reviews

24 of 24 people found the following review helpful By Andre M. Van Meulebrouck on April 4, 2010
Format: Paperback 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.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
12 of 13 people found the following review helpful By anonymous on January 12, 2010
Format: Paperback 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? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
13 of 15 people found the following review helpful By Andrei Mouravski on 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.
5 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 9 people found the following review helpful By Shashikant Penumarthy on March 30, 2012
Format: Paperback
SUMMARY
As an experienced programmer that has encountered functional concepts before in Javascript, Ruby or Python, I found this book slow and impractical. However, if you never took a Comp Sci class using a functional language and are now looking to fill that gap, or if you are looking to get a deep understanding of F#'s design rationale, you'll love it.

BACKGROUND
I am an experienced programmer in C#, Java, Python and Javascript and I bought this book to get started with F#. I am writing this review because I promised to write one in return for a free copy of this book, which I got via a book review program where I work. I worked through the examples in the book using Visual Studio and experimented with variations of the examples to understand things better, so you could say I studied the content well. I picked this book over other F# books only because I had read Jon Skeet's *outstanding* C# in Depth cover to cover and expected the same level of quality and detail.

THE GOOD
The book definitely delivers on both fronts. There is a solid discussion of F# syntax, what it does, how it supports a functional way of thinking and how you can improve C# code to benefit from these ideas. I will be re-reading and experimenting with variations of examples in this book for months. In other words, you get a *lot* for your money.

THE STRANGE
I found this book a little strange and difficult to read for the following reasons:
1) It explains functional programming concepts as if the reader is completely new to it. I found myself skimming through lots of text that I felt was obvious from the F# code snippet.
2) It spends way too much time talking about applying functional thinking to C# code.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Customer Images

Most Recent Customer Reviews


What Other Items Do Customers Buy After Viewing This Item?