Fortran was one of the first computer programming languages and, despite its age, continues to be widely used in science and engineering. An ongoing modernization process slowly introduces features found in more modern languages. The result is the ANSI standards Fortran 77 and Fortran 90 [300,16]. The books by Metcalf and Reid , Adams et al. , and Brainerd, Goldberg, and Adams  provide good introductions to Fortran 90. Kerrigan  addresses the topic of migrating existing codes to Fortran 90. Chapter 7 reviews some Fortran 90 features.
Many parallel dialects of Fortran have been designed over the years. For example, Karp and Babb survey ten such dialects . Most were designed for specifying concurrency in shared-memory computers and hence do not provide constructs for managing locality. Nor do they enforce determinism or modularity. Several recent language designs have emphasized data-parallel programming; these are discussed in Chapter 7, as is work on parallelizing compilers. Fortran M is distinguished by its support for task parallelism, deterministic execution, and modularity. Chandy and Foster provide both a language description and a more formal definition [102,51], while the monograph Programming in Fortran M  provides a tutorial and reference manual for the Argonne Fortran M compiler.
Here is a Web Tour providing access to additional information on programming in Fortran M, including a public-domain compiler, a tutorial, and example programs.
© Copyright 1995 by Ian Foster