Foundations of FSharp, Apress

Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio


Jump to: navigation, search
  Title:  Foundations of F#
  Author(s):  Robert Pickering
  Edition:  Apress (May 30, 2007)
  Format:  Hardback: 360 pages
  ISBN:  1590597575
  Overall Rating:  Image:stars4H.gif The Bottom Line
C# Online.NET:Reviews: Book Reviews  •  Educ./Train. Reviews  •  Software Reviews  •  Top 10 Books

Contents


C# Online.NET Book Review

Read a chapter from the book!

Functional programming (FP) has largely been the province of academic researchers. However, there is some functional programming in industry and commercial applications using Erlang for concurrent applications; Haskell, ML, J, and K for financial analysis; Mathematica for symbolic math processing; R for statistical analysis; plus domain-specific programming languages such as XSLT.

Microsoft Research has created the F# functional programming language to evaluate the suitability of such languages to .NET development and interoperability.

Although intermediates will doubtless dog-ear the pages on .NET library usage, the book is primarily for beginners. The book ranges widely but not deeply. For us newbies, the book delineates functional, imperative, and object-oriented programming paradigms.

Chapter 3 explains functional programming. There are chapters devoted to the F# libraries, the F# tool suite, and just about every aspect of programming in F# from installation through interoperability. Chapter 11 on Language-Oriented Programming gets a little heavy by covering lexer and parser generation and interpreters. And, there are chapters dedicated to a survey of applied F# with introductions to an ASP.NET application, a Windows Form application, and others written in F#.

The examples and illustrations are well chosen. And, many F# data structures are introduced. And, the author passes on a number of F# tricks and gotchas.

Perhaps I am not the best reviewer for this book, since I am not a literate functional programmer—functionally illiterate? However, I can comment on the suitability of the book for beginners like myself. The book has its faults—sometimes confusing expositions of source code, dreary passages on syntax, and an over-reliance on the second person singular. Some of the examples will not work as written; so, consult the author's Foundations of F# Support Material which contains the complete errata for the book and other goodies.

All of the source code examples are in the F# language.


Bottom line

Foundations of F# is a great introduction to functional programming (FP) as well as a super tutorial on programming functionally in the .NET environment using F#.

Publisher's description

Functional programming (FP) is the future of .NET programming, and F# is much more than just an FP language. Every professional .NET programmer needs to learn about FP, and there's no better way to do it than by learning F#--and no easier way to learn F# than from Foundations of F#.

If you're already familiar with FP, you'll find F# the language you've always dreamed of. And all .NET programmers will find F# an exciting real-world alternative to C# and Visual Basic. This book is likely to have many imitators, but few true competitors. Written by F# evangelist Rob Pickering, and tech reviewed by F#'s main designer, Don Syme, this is an elegant, comprehensive introduction to all aspects of the language and an incisive guide to using F# for real-world professional development. F# is the future of programming (not just on .NET), and the future is now.

About the author(s)

Robert Pickering is an extraordinarily prolific writer on F#. The F# wiki on his Strangelights.com Web site is among the most popular F# web sites in the world. He is a consultant for LexiFi, lives in France, and works on projects in England, Denmark, Holland, and Belgium. He received his Bachelor of Science in Computer Science from Manchester University in 1999.

Table of Contents (abbreviated)

CHAPTER 1 Introduction
CHAPTER 2 How to Obtain, Install, and Use F#
CHAPTER 3 Functional Programming
CHAPTER 4 Imperative Programming nCHAPTER 5 Object-Oriented Programming
CHAPTER 6 Organizing, Annotating, and Quoting Code
CHAPTER 7 The F# Libraries
CHAPTER 8 User Interfaces
CHAPTER 9 Data Access
CHAPTER 10 Distributed Applications
CHAPTER 11 Language-Oriented Programming
CHAPTER 12 The F# Tool Suite and .NET Programming Tools
CHAPTER 13 Compatibility and Advanced Interoperation

Personal tools