Indiana University

Upcoming Meetings

Latest News

2/21/13 10:14 AM
Checkout Adobe Days!!!
read more ...

9/18/12 8:16 AM
Digital Publishing Suite Customer Showcase
read more ...

9/10/12 8:52 AM
Adobe Developer Connection Update
read more ...

11/28/11 3:19 PM
IU Web & Multimedia Community launches Mobile User Group with Presentation by Adobe’s Greg Rewis
read more ...

7/9/10 10:14 AM
A slew of reviews
read more ...

6/3/10 9:56 AM
Learn about Open Source Media Framework
read more ...

3/25/10 9:57 AM
Get an early look at CS5!
read more ...

3/22/10 2:35 PM
ColdFusion Builder, Flash Builder 4 available
read more ...

3/12/10 3:55 PM
IndianaUploaded.com Animation Competition
read more ...

3/3/10 11:22 AM
March 5 meeting canceled
read more ...

3/2/10 10:09 AM
Catch up on web accessibility at IU
read more ...

2/24/10 10:51 AM
Recording from IU Knowledge Commons meeting available
read more ...

2/2/10 10:28 AM
Don't become the next victim
read more ...


Book Review: Real World Functional Programming: With Examples in F# and C#

Author: Shashikant Penamurthy
Category: Development/Programming

Title: Real World Functional Programming: With Examples in F# and C#
Author: Tomas Petricek and Jon Skeet
Publisher: Manning Publications; (January 22, 2010)
ISBN: 9781933988924
List Price: $49.99


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. I found this unnecessary because F# and C# are different tools for different applications - I'll use F# when I think a functional approach is right. A couple of lines of text that describe roughly what one would have had to do in C# to achieve the same effect (plus perhaps C# snippets in an appendix) would have been sufficient.
3) The flow of the book wasn't right for me because I like to get the syntax out of the way before tackling everything else. A small chapter at the beginning that offered a "crash course on F# syntax" would have greatly improved the book for me.
But I don't think that is the kind of book the authors set out to write.
WHY READ IT?
This book won't get you up to speed with F# quickly. The examples aren't from the real world. You cannot use this as a reference book. Strictly speaking, it's not even a book about functional programming.
This is a book about functional *thinking*, written for those who know your typical C, C++, Java or PHP. A better title for this book might have been "Functional Thinking for OOP/Imperative Programmers: From C# to F#". It is a functional programming book for those who haven't taken a CS class using a functional language.
If you are looking for a book that will help you add F# to your language toolset, this is not it. But if you're the type that often writes a line of code and wonders why the language looks the way it does, it doesn't get any better. This is a timeless book that I will refer to whenever I write a line of F# and wonder: "why does it do that?"

<< back to articles


Catch the latest updates here:








Helpful Links

Learn about the latest Adobe Products

Quick News

Adobe Captivate is now available from IUWare through Indiana University's agreement with Adobe. Captivate is another tool in the Adobe suite available to students, staff and faculty free of charge. To get your copy, click here.

Stay Informed

Click each link below to subscribe to our e-mail/discussion lists.

News items
Discussions/Questions

Follow us on Twitter and Facebook