Modern Fortran Explained: Incorporating Fortran 2018

  • 10h 21m
  • John Reid, Malcolm Cohen, Michael Metcalf
  • Oxford University Press (US)
  • 2018

Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard - Fortran 2018 - includes many additions and improvements.

This edition of Modern Fortran Explained expands on the last. Given the release of updated versions of Fortran compilers, the separate descriptions of Fortran 2003 and Fortran 2008 have been incorporated into the main text, which thereby becomes a unified description of the full Fortran 2008 version of the language. This clearer standard has allowed many deficiencies and irregularities in the earlier language versions to be resolved.

About the Authors

Michael Metcalf, Formerly of CERN, Geneva, Switzerland, John Reid, Numerical Analyst, JKR Associates, Oxfordshire, Malcolm Cohen, Principal technical consultant, The Numerical Algorithms Group Ltd, Oxford, U.K.

Michael Metcalf worked for many years at CERN. He is the author or co-author of a range of publications, including forerunners to the present volume, as well as Effective FORTRAN 77 (OUP NY, 1985) and a number of contributions to technical encyclopaedias

John Reid is well-known as a numerical analyst and is a co-author of Direct Methods for Sparse Matrices (OUP, 2017). He is the Convenor of the ISO Fortran Committee and has played a leading role in the development of many of the features of modern Fortran, especially of coarrays.

Malcolm Cohen is a mathematician and the leading compiler writer at NAG. He has participated actively in the development of the Fortran standards, being a major designer of the objected-oriented features. He is the Editor of the Fortran 2008 standard.

In this Book

  • Conventions Used in This Book
  • Whence Fortran?
  • Language Elements
  • Expressions and Assignments
  • Control Constructs
  • Program Units and Procedures
  • Allocation of Data
  • Array Features
  • Specification Statements
  • Intrinsic Procedures and Modules
  • Data Transfer
  • Edit Descriptors
  • Operations on External Files
  • Advanced Type Parameter Features
  • Procedure Pointers
  • Object-Oriented Programming
  • Submodules
  • Coarrays
  • Floating-Point Exception Handling
  • Interoperability with C
  • Fortran 2018 Coarray Enhancements
  • Fortran 2018 Enhancements to Interoperability with C
  • Fortran 2018 Conformance with ISO/IEC/IEEE 60559—2011
  • Minor Fortran 2018 Features