Fortran 90

1. What is Fortran 90?

It is FORTRAN 77 with many new features:

  • Syntax improvements including free-form source
  • Array operations
  • Dynamic storage allocation (like malloc in C)
  • Modular data and procedure definitions
  • New intrinsic procedures (arrays, bit manipulation...)
  • New and improved control constructs
  • Optional arguments and recursion in procedures
  • User-defined data types (like struct in C)
  • Pointers (like C, but not quite)
Of these features, it is the array processing features of Fortran 90 that are of primary interest to us as a basis for HPF. There are two reasons for this. First, array operations are provided as high level functions, with the hope that this will facilitate efficient implementation on vector and parallel machines. Second, algorithms based on array operations can be expressed concisely, thus increasing ease of programming, reducing the likelihood of error and allowing for concentration of effort on the application. Later, we will see how some of the more advanced programming constructs can be developed into a well-rounded object-oriented coding style. In this way, the programmer can concentrate on high-level abstractions rather than on implementation details.