Computing Reviews

Classical Fortran :programming for engineering and scientific applications (2nd ed.)
Kupferschmid M., CRC Press, Inc.,Boca Raton, FL,2017. 576 pp.Type:Book
Date Reviewed: 11/27/17

Should scientists and engineers learn Fortran? The answer is, “Yes, of course.” Fortran is still the dominant programming language in scientific computing [1,2]. That answer probably means modern Fortran, that is, Fortran 90 or later. Kupferschmid’s eloquent and perhaps contrarian proposition is that the answer should be what he calls classical Fortran: a subset of Fortran 77 enhanced by a few commonly available extensions not included in the language standard and a few features of Fortran 90--all carefully selected to provide a minimally sufficient programming language that can serve most everyday needs of working scientists and engineers.

Classical Fortran is undoubtedly easier to learn than modern Fortran in its complete splendor. Since standard-compliant compilers are required to be backward compatible, the same compiler can be used to write classical Fortran and modern Fortran.

A rather large book (about 590 page in total), Classical Fortran is unique in several respects. It pays as much attention to the language as to the craft of programming; it is aimed at a wide audience: college students, scientists, engineers, academics, and even inquisitive high school students. The only expected background is algebra and some calculus. The book has been classroom tested; now in its second edition, it was reissued in 2017, which attests to a need, perhaps modest but real, for the Fortran shown here.

The book contains 18 chapters, a bibliography, and an index. Chapters 1 through 11 present the core of the language; chapters 12 through 14 contain Kupferschmid’s recommendations concerning the craft of Fortran programming--these include things to do and things to avoid, both elaborated at length. Chapter 15 deals with measuring and maximizing execution speed. Chapter 16 deals with vector and parallel processing, and chapter 17 deals with high-performance Fortran (HPF). Kupferschmid justifies this choice as follows: “The data-parallel programming model on which HPF is based is, like vector processing, a good enough idea that it will probably continue to play a role in high-performance computing even if HPF itself is someday abandoned.” Finally, chapter 18 contains the source code and documentation for several routines that can be useful in everyday programming.

The reader should independently review coarrays, a feature offered by Fortran 2008 for parallel programming, before deciding whether he needs it to the extent that that would preclude his using classical Fortran.

Each chapter contains a large number of exercises, several of which require some thought or some research. If the reader works through most of the exercises, he will become comfortable with older Fortran and will gain a solid introduction to modern Fortran.

An instructor’s manual is available from the publisher.

The book’s physical layout is plain and pleasant; the table of contents and the index are exceptionally detailed and comprehensive; and the bibliography is extensive. The table of contents can be seen on the book’s web page [3] or on Amazon.

I enjoyed this book a great deal, and I recommended it highly. Articulate and unambiguous, Kupferschmid can be strongly opinionated. Whether in agreement or with occasional skepticism, I found his ideas worthy of thoughtful consideration. I suggest that scientists and engineers regard them in that light as well.

More reviews about this item: Amazon


1)

Phillips, L. Scientific computing’s future: Can any coding language top a 1950s behemoth? https://arstechnica.com/science/2014/05/scientific-computings-future-can-any-coding-language-top-a-1950s-behemoth/ (09/11/2017).


2)

Why are physicists stuck with Fortran and not willing to move to Python with NumPy and Scipy? https://www.researchgate.net/post/Why_are_physicists_stuck_with_Fortran_and_not_willing_to_move_to_Python_with_NumPy_and_Scipy (11/09/2017).


3)

Classical Fortran: programming for engineering and scientific applications (2nd ed.). CRC Press. https://www.crcpress.com/Classical-Fortran-Programming-for-Engineering-and-Scientific-Applications/Kupferschmid/p/book/9781138116436 (11/09/2017).

Reviewer:  Edgar R. Chavez Review #: CR145673 (1802-0036)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy