Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
F# for scientists
Harrop J., Wiley-Interscience, New York, NY, 2008. 368 pp. Type: Book (9780470242117)
Date Reviewed: Feb 5 2009

F# brings functional programming to the .NET platform. It is an outgrowth of the ML family of languages, especially OCaml. With parallelism prevalent, functional programming increases in importance. F# is geared toward mathematically oriented programming and scientific and engineering tasks, and this book excellently and concisely presents both F# and scientific applications. It contains everything important, but gets to the point quickly to accommodate busy scientists and application programmers. Chapters 1 to 6 cover F# programming, concluding with simple examples. Chapters 7 to 11 cover advanced topics, while the final chapter concludes with working examples.

The first section presents F# using numerous examples that may be entered interactively, so that one learns the basics concretely and rapidly by using either the console or Visual Studio. The chapter on data structures includes a section on algorithmic complexity. In addition to the built-in data structures, it contains a nice section on trees illustrated with a tree-based force computation that is compared with the array approach. A chapter on numerical analysis includes algebra and interpolation. The simple examples include dynamic programming, the discrete wavelet transform, and transcribing DNA.

Each advanced chapter is a delight. “Visualization” shows cellular automata in Windows Forms and rendering and function plotting using the DirectX graphics library. The next chapter introduces techniques for program optimization. Chapter 9 presents libraries, including threads, vectors and matrices, and the Fourier transform. The next chapter treats databases and Web services. A chapter on interoperability shows how F# can interact with Excel, MATLAB, and Mathematica. The concluding complete examples include the fast Fourier transform, the semi-circle law, finding the nth-nearest neighbors, a logistic map, and real-time particle dynamics.

Harrop provides a link for the code samples that only allows one to submit an email request, with no indication as to when the code will become available. Because of the increasing importance of parallelism, it would have been nice to use the multicore ParallelFX library with F#. But there is little to complain about. The hardbound book is a really solid treatment, ideally suited for its intended audience.

Reviewer:  Arthur Gittleman Review #: CR136488 (0912-1119)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
Would you recommend this review?
Other reviews under "General": Date
QoS-based wavelength routing in multi-service WDM networks
Jukan A., Springer-Verlag New York, Inc., New York, NY, 2001.  243, Type: Book (9783211836255)
Mar 1 2002
Implementing a modal dependent type theory
Gratzer D., Sterling J., Birkedal L. Proceedings of the ACM on Programming Languages 3(ICFP): 1-29, 2019. Type: Article
Apr 27 2021
Principles of programming languages: design, evaluation, and implementation (2nd ed.)
Maclennan B., Holt, Rinehart & Winston, Austin, TX, 1986. Type: Book (9780030051630)
Nov 1 1987

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