01Overview

In the 1950s scientific code was written directly in assembly: hard to port and easy to get wrong. Backus proposed FORTRAN (formula translation) at IBM in 1954, and the compiler shipped in 1957 producing code close to hand-written assembly. That settled the doubt that high-level languages must be slow.

FORTRAN introduced variables, arrays, loops and subroutines, and optimised for numerical work. Its standards kept evolving: FORTRAN 77, then Fortran 90 with modules and array operations, and it is still alive in high-performance computing and climate modelling. It proved one thing: abstraction need not cost performance.

02History

  1. 1954

    The FORTRAN proposal

    Backus starts it at IBM.

  2. 1957

    The FORTRAN compiler ships

    The first widely used high-level language.

  3. 1966

    The first standard

    FORTRAN 66.

  4. 1977

    FORTRAN 77

    Structured control flow.

  5. 1990

    Fortran 90

    Modules, array operations and free-form source.

03Core concepts

Compiler optimisation

Translating loops and arrays of a high-level language into efficient machine code.

Numerical computing

Floating point and arrays — Fortran’s home ground.

Backwards compatibility

Decades-old scientific code still compiles and runs.

04Hands-on

Do it once — it beats reading it ten times

Rewrite a 20-line numerical loop from your language of choice in FORTRAN fixed-form, then compare the compiled assembly

05Self-check

Say it in your own words first, then open the answer. Whatever you cannot explain is what to review next.

Can you explain "Compiler optimisation"?

Translating loops and arrays of a high-level language into efficient machine code.

Can you explain "Numerical computing"?

Floating point and arrays — Fortran’s home ground.

Can you explain "Backwards compatibility"?

Decades-old scientific code still compiles and runs.

What problem did it solve, and why was there nothing better at the time?

Go back to the history section: how was this done before, and what did it cost?

If you had to build it today, how would you break it down?

Use the hands-on task above: write a plan of at most three steps before you start.

06Key people

J

John Backus

1924 – 2007

Proposed FORTRAN; a pioneer of functional programming.

F

Frances Allen

1932 – 2020

A pioneer of compiler optimisation.

07Further reading

  • The FORTRAN Automatic Coding SystemBackus & Heising · 1957
  • Modern FortranStephen Chapman · 2018