Byte sized languages: Fortran

News David Briddock Jan 22, 2013

David Briddock describes one of the original computer languages

Dating back to the 1950s, Fortran was one of the first computer languages to provide a practical alternative to assembly code. A draft specification for The Mathematical Formula Translating System was created by a team lead by John Backus at IBM, and the first Fortran compiler appeared in 1957. Even at this early stage it was designed to be an optimised complier, so program performance would approach that of pure assembly code.

By the early 1960’s there were over 40 Fortran compiler versions, for the various IBM mainframes and many rival computer systems of the time. Fortran compilers for Digital Equipment Corporation PDP-11 and Hewlett Packard HP 1000 minicomputer systems were particularly successful, offering as they did a substantially lower cost proposition than their mainframe rivals.

Over its long history Fortran has seen a succession of enhancements and new versions. Fortran II appeared in 1958, with version IV appearing by 1962. After this date the language became an ANSI standard and the versions were labeled using the year. This resulted in the seminal Fortran 66 and 77 versions, and later by Fortran 90, 95, 2003 and 2008.

The Fortran 77 release introduced many improvements to program flow control and cemented its reputation as a key mainstream language.

Developer highlights

The scientific and engineering programming community has a particular affinity with Fortran. Over the decades they’ve written million of lines of code and numerous domain-specific libraries.

These domains invariably have a strong mathematical nature such as weather forecasting and climate modelling, oil exploration, fluid dynamics simulation, or computational chemistry and physics. Fortran code is employed in a wide range of scientific research projects, including some at the famous CERN laboratories.

Computer programmers in these organisations and institutions value the richness and well-debugged quality of these Fortran libraries, which support their work with linear algebra, non-linear equations or vector and matrix manipulation.

Developer lowlights

For a developer who’s used to coding with modern structural and object-oriented languages, the typical early Fortran program source listing with its dated-looking syntax (goo.gl/S9Dd5) and layout will seem quite strange. However, when you consider the language started life in the punched card era, the reasons behind this structure become more understandable.

Many Fortran programs made heavy use of undesirable keywords such as GOTO, which invariably make long code listings difficult to read and understand. While GOTO and many other similar features were decremented or removed by the Fortran 90 release, the value and complexity of some of the older libraries is such that they haven’t been rewritten.

The future

After well over half a century, Fortran still has a place in the programming world. Many of today’s multi-national oil companies still rely on highly mathematical Fortran libraries when analysing onshore and offshore oilfield prospecting data.

The heavy financial investment and lengthy testing time required to replace these libraries will ensure Fortran remains a relevant language for some time to come.