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
- 1954
The FORTRAN proposal
Backus starts it at IBM.
- 1957
The FORTRAN compiler ships
The first widely used high-level language.
- 1966
The first standard
FORTRAN 66.
- 1977
FORTRAN 77
Structured control flow.
- 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
John Backus
1924 – 2007
Proposed FORTRAN; a pioneer of functional programming.
Frances Allen
1932 – 2020
A pioneer of compiler optimisation.
07Further reading
- The FORTRAN Automatic Coding System
- Modern Fortran