Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Foundations of F#
Pickering R., Apress, Berkeley, CA, 2007. 360 pp. Type: Book (9781590597576)
Date Reviewed: Nov 16 2007

F# is a .NET language from Microsoft Research that extends functional programming with imperative and object-oriented features. It is type-safe, and its performance is similar to that of nonfunctional languages, such as Visual Basic .NET and C#. Furthermore, it has been integrated into Visual Studio so that tools such as the debugger and the database explorer are readily available to F# programmers. Readers experienced with objective Caml (OCaml) are provided with a compatibility library, which is a serious attempt to help OCaml programmers jump into the .NET world.

The book is comprised of 13 chapters, which I have organized into the following logical parts: getting started (chapters 1 and 2), language features (chapters 3 through 6), interfacing with the .NET framework (chapters 7 through 10), and miscellany (chapters 11 through 13).

In the first part, Pickering reports on the much-heralded advantages of functional programming, and provides a few details on installing F#. The second part provides a short introduction to F# from three complementary points of view: purely functional features, imperative features, and object-oriented features. The last chapter in this part reports on how to organize programs into modules, and how to annotate them with documentary comments, metadata (attributes in .NET’s terminology), and quoting code, which is a new feature in .NET that compiles parts of a program into a data structure called an expression tree instead of object code. In the third part, Pickering reports on: the F# native libraries, creating user interfaces for both desktop and Web applications, using files and databases, and writing distributed applications (with an emphasis on Web services). The last part reports on using fslex and fsyacc for building language analyzers, using the F# tool suite, and interfacing with other .NET languages.

In summary, I think that this is a good introduction to F#, and I find it very adequate for people who know little about such languages. Unfortunately, the chapters on interfacing with the .NET framework are very shallow, and I do not think they are easy to follow for programmers who are not proficient with the .NET platform. The explanations and the examples regarding technologies, such as ASP .NET, Windows Forms, and LINQ, are very brief and simple. They help proficient .NET programmers get an overall idea of how these technologies can be addressed by using F#, but they are not enough for a beginner to get started with the framework.

Reviewer:  Rafael Corchuelo Review #: CR134948 (0810-0949)
Bookmark and Share
  Featured Reviewer  
 
Object Oriented Functional Data Language (H.2.3 ... )
 
 
Applicative (Functional) Languages (D.3.2 ... )
 
 
Microsoft .NET (D.3.2 ... )
 
 
Language Classifications (D.3.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Object Oriented Functional Data Language": Date
The Object-Oriented Functional Data Language
Mannino M., Choi I., Batory D. IEEE Transactions on Software Engineering 16(11): 1258-1272, 1990. Type: Article
May 1 1991
C++17 standard library quick reference: a pocket guide to data structures, algorithms, and functions (2nd ed.)
Van Weert P., Gregoire M., Apress, New York, NY, 2019.  320, Type: Book (978-1-484249-22-2)
Feb 1 2021

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy