Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The F programming language
Metcalf M., Reid J., Oxford University Press, Inc., New York, NY, 1996. Type: Book (9780198500261)
Date Reviewed: Sep 1 1997

What do you get if you remove the Fortran 66 language legacy from the Fortran 90 language? You get F, of course. F was developed by removing elements of the Fortran 90 language that make it irregular, dangerous, hard to learn, and prone to errors. Whereas Fortran 90 was required to be backward compatible with Fortran 77, the F language has no such pretensions. It is a reasonably modern language, with data abstraction, dynamic data allocation, type safety, modularization, and a rich array sublanguage particularly suited for matrix and vector computations. Moreover, since any F program is a legal Fortran 90 program, it can be run anywhere a Fortran 90 compiler is available.

This book describes the elements of F, starting with the lexical aspects (names, literal constants, and strings), expressions, control constructs, and program units (programs, subroutines, functions, and modules). It continues with the array sublanguage, the type system, intrinsic functions, and I/O. The chapters all have short exercises, the answers to which are at the back of the book. The book reads like a language tutorial, though I expect it will be used as often as a language reference. It avoids dealing with the specific definitions and semantics of the language, leaving that to the Fortran 90 standard.

The book is aimed at students of the F language. It is not a programming textbook, nor is it sufficient for beginning programmers. One of the authors’ goals seems to be to encourage scientists and engineers to use F in coursework and research, and thereby benefit from the high performance of typical Fortran compilers while also learning good programming practice. In keeping with this goal, the authors have made an F compiler available at low cost to educational institutions.

As with any language design, one may argue about which features ought to have been included and eliminated, but F seems to be suited for its goals. Some specifics of the language are as follows: Only the free source form is used. Character strings use double quotes (") instead of single quotes (’). Array dummy arguments are all assumed-shape. Variables must be explicitly typed; F has no I-N rule and no implicit statements. There is no include statement. There are no common blocks. There are no data statements and no block data, though data initialization is allowed. There are no statement functions and no internal functions or subroutines. There is no entry statement, no do while statement, and no logical if, arithmetic if, computed goto, or assigned goto. Also, F has no labels and no goto statement, no namelist I/O, and no implied-do in I/O statements.

For numerical programmers not burdened with legacy code, F’s type safety, rich intrinsic function set, array sublanguage, and lack of dangerous features (such as C’s pointer arithmetic) make it a reasonable language. The book is essential to anyone interested in using this rational subset of Fortran.

Reviewer:  M. Wolfe Review #: CR120836 (9709-0648)
Bookmark and Share
 
F (D.3.2 ... )
 
 
Data Types And Structures (D.3.3 ... )
 
 
Fortran 90 (D.3.2 ... )
 
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
 
Semantics (D.3.1 ... )
 
 
Syntax (D.3.1 ... )
 
Would you recommend this review?
yes
no

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