A language built for computation
Fortran is one of the oldest programming languages still in wide use. It was developed in the 1950s to let scientists and engineers write numerical programs in something close to mathematical notation, and its design has always favored the needs of numerical work: efficient arithmetic, strong array handling, and a syntax that stays close to the formulas being computed.
The standards timeline
Fortran has been an internationally standardized language since the 1960s, which is one reason programs written decades ago can often still be compiled today. The major standards, in order:
- FORTRAN 66 — the first standard, published in 1966.
- FORTRAN 77 — a major revision published in 1978.
- Fortran 90 — published by ISO in 1991; introduced free source form, modules, array operations, and derived types.
- Fortran 95 — published in 1997; a smaller revision adding features such as pure and elemental procedures.
- Fortran 2003 — published in 2004; added object-oriented features, allocatable enhancements, and more.
- Fortran 2008 — published in 2010; introduced coarrays and the DO CONCURRENT construct.
- Fortran 2018 — published in 2018; extended coarray facilities and added further enhancements.
- Fortran 2023 — published in 2023; the most recent revision.
Fixed and free source form
Programs written for the older standards use fixed source form, in which columns of each line have special meaning. Since Fortran 90, free source form has been available: statements may start in any column, lines may be long, and comments begin with an exclamation mark. Most new code is written in free form, and the examples on this site use it throughout.
First steps for new programmers
If the language is new to you, a steady path looks like this:
- Learn the shape of a program — the program statement, declarations, and the end program statement — using the Hello World article.
- Practice with variables of the basic types (integer, real, character, logical) and simple arithmetic.
- Move to arrays and intrinsic functions, where Fortran does much of its best work, via Arrays and Intrinsic Functions.
- Add file input and output with Reading and Writing Files.
- Then follow the links into the numerical methods and performance sections as your programs grow.
Use any compiler that supports the standard you are targeting, and rely on its documentation for the details of compiling on your system. This site covers the language, not the tools.