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:
-
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:
-
First compiler for Fortran I (1954) in 1957
-
Complete implementation of the Fortran 2008 standard by two compilers only, as of 2020: Cray and Intel.
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!