Skip to content

Introduction

  • Fortran: Formula translator

  • One of the oldest among still used programming languages. Created by IBM in 1954.

  • Intended use: scientific computation.

History

The future of 1954: Homecomputer

  • 1954: Fortran, first definition of the language, by IBM

  • 1957: Fortran II

  • 1958: Fortran III, not published

  • 1961: Fortran IV

  • Standardization in 1966 by a public American organization: ANSI (American National Standards Institute). The standard version becomes known as « Fortran 66 ».

  • 1978: Fortran 77. Standardization of Fortran becomes international: ISO (International Standards Organization).

  • 1991 : Fortran 90 (major revision)

  • 1997 : Fortran 95 (minor revision)

  • 2004 : Fortran 2003 (major revision)

  • 2010 : Fortran 2008 (minor revision)

  • 2018 : Fortran 2018 (minor revision)

  • 2023 : Fortran 2023 (minor revision)

The compilers

Fortran is a compiled language. Read the introduction on compilation.

  • Some free compilers: GNU Fortran, Intel Fortran (for non-commercial use), Nvidia…

  • Some commercial compilers: IBM XL Fortran, NAG, Cray…

Implementation of Fortran standards by compilers

It takes years! For example:

Implementation of Fortran 2003 standard by compilers

  • IBM XL Fortran compiler since version 13.1, released in 2010

  • Cray compiler since 2010

  • Portland Group (PGI) compiler since version 13.7 in 2013

  • Intel Fortran compiler since version 16.0, released in 2015

  • NAG Fortran compiler since version 6.2, released in 2018

  • GNU Fortran compiler supports almost all features of Fortran 2003 since version 9.1, released in 2019. As of 2025, there is still a not implemented feature.

Consequences of history

  • The standardization process implies stability, slow evolution of the language. (Note that not all programming languages are standardized. For example: Python, Perl…)

  • There has been a large build-up of programs and libraries of procedures in Fortran since its birth.

  • This work must not be wasted. This old code must remain functional. → Archaic features in the language must remain valid. Successive Fortran standards add a lot to the language and remove very little.

  • The Fortran language becomes larger and larger. There are several valid (standard-conforming) ways to code the same algorithm.

  • The choice between those different programming styles should be made based on conciseness, safety (little room left for bugs), clarity, efficiency (speed of execution).

This course

  • Fortran 2003

  • A selection, not a complete description of the language.

    • Selection of the most useful features

    • Selection of a programming style

Bibliography

From more specialized to more general, from tutorial to reference book:

  • Chirila et al., Introduction to Modern Fortran for the Earth System Sciences, Springer, 2015

  • Hanson et Hopkins, Numerical Computing with Modern Fortran, Siam, 2013

  • Adams et al., The Fortran 2003 Handbook – The Complete Syntax, Features and Procedures, Springer, 2009.

  • Freely available reference document: draft Fortran standard 2003

Notation

In this document, curly brackets { } delimit an optional part. They are not part of the language, do not write the curly brackets in your program!