Today, I attended a conference ‘Fortran in physics – its legacy and its future’, which was jointly organised by the BCS Fortran Specialist Group (aka FSG) and the Institute of Physics Computational Physics Group. The FSG has itself been closely involved with the development of Fortran over the years, particularly its standards. This year marks the 40th anniversary of FSG, a perfect opportunity for David Muxworthy, a founder member, to outline its history and how Fortran standards have evolved over the years.
The first Fortran compiler was released in 1957 by IBM, and development was rapid. By 1961, IBM had eight compilers and had to publish a guide to the variations between them. Philco had already released Altac, a Fortran II lookalike, too, so there were signs of increasing divergence in the marketplace. The work on an ASA standard began in 1962 to enable consistency and portability. Muxworthy made the point that portability was not just about moving code between different computers, but also between different compilers on the same computer. There were also implications for transferable skills, making it possible for people to move from one project to another, or even from one firm to another.
By the time technical work on the standard finished in 1964, most major US vendors had Fortran systems (Fortran II, or increasingly Fortran IV). The standard was basically a common subset of vendor offerings and was published in 1966, with clarifications following in 1969 and 1971. The US standard became and ISO standard in 1972.
All the standardisation was taking place in the US, so the FSG was founded to establish and maintain Fortran standards, although its remit later broadened to all activities associated with Fortran. It’s incredible to think of how much slower the pace of change was in the 70s. Knowledge was shared using the postal system (remember that?) and four to six face to face meetings per year. Despite the lack of the internet to keep everyone in regular contact, there was huge interest in Fortran the language, and in FSG, Muxworthy said.
In 1971, FSG had its first contact with the X3J3 committee responsible for Fortran standards in the US, and through its mailing list was able to ensure information flowed from the UK into the US standardisation process. In 1976, the BCS took a gamble and bought 50 copies of the draft Fortran 77 standard so that FSG members could provide feedback to the US Fortran committee on it. This was the only way to see the detail of the standard at the time.
Although standardisation in programming languages on the whole had become highly regionalised, with the UK, US, Japan and ECMA all independently “standardising” BASIC at one time, 1977’s Hague Agreement at ISO saw countries agreeing to cooperate more closely on programming language standards.
Every five years, the Fortran standard comes up for review, but some reviews took longer than others. Fortran 82 slipped to Fortran 8x, then Fortran 88 (which had a nice symmetry with Fortran 66 and Fortran 77, but was not to be). Eventually Fortran 90 was released (only 8 years after its original name of Fortran 82!). Some US vendors tried to derail the standardisation process by saying Fortran 90 couldn’t be implemented but the first compiler was announced in June 1991, just a month after the standard was formally approved. Despite introducing a lot of major changes, Fortran 90 maintained compatibility with 99.9% of Fortran 77 programs.
Fortran 95 (released on time) tidied up loose ends and introduced a number of features, including FORALL and variable length strings.
Fortran 2003 introduced interoperability with C, some object-oriented programming features, and support for international character sets. It took six years for the first compiler to be released, though, by Cray. IBM this year announced the second full compiler for Fortran 2003 and Muxworthy said that Intel’s position is that it will release a Fortran 2003 compiler if customers require it.
The role of the FSG has changed over the years. With the rise of the internet, meetings have become less frequent and are now focused on special events and an annual gathering. If you’re interested in Fortran, though, the group has excellent connections and resources to help further your knowledge. To find out more about FSG and its upcoming events, visit the FSG website.