Fortran Specialist Group

Fortran's Fiftieth Birthday

David Muxworthy
BSI Fortran Convenor
d.muxworthy@bcs.org.uk

Introduction

The world's first Fortran compiler was announced in February 1957. In January 2007 the British Computer Society Fortran Specialist Group in collaboration with the Computer Conservation Society organized a meeting in London to mark the 50th anniversary of the occasion. The meeting was generously supported by the British Computer Society as part of its own 50th anniversary programme. Some 60 people attended and heard a series of presentations on the past, present and future of the language. Two participants had come from Sweden and one from Germany and there had also been expressions of interest from three people in the USA.

Morning session

Peter Crouch, chairman of the FSG, outlined the early history beginning when John Backus at IBM obtained permission to mount a six-month project. Work started in 1954 but took longer than expected: the first manual was published in 1956 and the first compiler, as noted, was issued in 1957. The first recipients were Westinghouse-Betis who used an IBM 704 for nuclear reactor design. Frank Engel at Westinghouse, later to become chairman of the American Fortran standards committee X3J3, honorary fellow of the BCS and member of the FSG, found that he could improve the efficiency of the compiler but had to work from octal dumps after IBM refused to release the source code; in turn Westinghouse refused to give their work back to IBM.

Participants were then shown a 12-minute film on the origins of Fortran which had been made by IBM in 1982 to celebrate the 25th anniversary of the compiler. This featured John Backus and other members of the original Fortran development team.

There followed four talks on early experiences. Ron Bell outlined his career from Oxford University in 1966, using Fortran at Harwell, to IBM, to being HPC consultant at the Atomic Weapons Establishment. He included examples of difficult-to-trace bugs. Miles Ellis had joined English Electric straight from University in 1964 and described implementing APT III and APT IV, originally written for an IBM 7090, on a KDF9 using various versions of Fortran. This had led to a long involvement with Fortran including the writing of text books and becoming convenor of the ISO Fortran working group.

Bill Olle's programming career had preceded high-level languages. He worked for SHAPE in The Hague in 1957 and attended a Fortran course in London in 1959. Later, using an IBM 704 in Paris he was asked if he wished to use Fortran anglais or Fortran francais. In 1960 SHAPE acquired its own 704 and 1400 but also used Fortran at Dusseldorf and Risley. The IBM users' organizations SHARE and SEAS were very active in promoting Fortran at that time.

David Hill had started programming with Mercury Autocode but moved to Algol 60 when compilers became available. He described working for the MRC using both Algol and Fortran on SDS 9300, PDP-11 and DEC-20. As Algol was generally thought to be superior to Fortran in the 1960s, and was very much his own preference, he detailed why Fortran won out. First, IBM were dominant at that time and did not wish to promote a language over which they had no control. Second, the original Algol report had no standard input-output statements. Third, Algol 58 had been rapidly overtaken by Algol 60 so that it was unclear if the latter would be equally short-lived. [The author of this note would also offer as a reason the lack of separable compilation in the original Algol report].

Lawrie Schonfelder and Miles Ellis had both been members of X3J3, the American Fortran standards development committee, during the evolution of Fortran 90. In the early 1980s the committee had had about 50 members, with approximately 20 vendors, 10 applications developers, 10 from large laboratories and 10 general users while WG5, the ISO Fortran Standards group, had about 40 people attending meetings and had more users than vendors. With such large groups there were divergences of opinion over objectives. Some wanted modernization of the language, some to standardize only existing practice but with a small number of favoured extensions, with everyone's favourites being different. The speakers described the political shenanigans which led first to an impasse, to a possibility that the whole project might be abandoned and finally to a breakthrough at the 1988 WG5 meeting in Paris, magnificently chaired by Bert Buckley of Canada, when amongst other changes the IBM representative was prevailed upon to change sides and a modernized Fortran 90 was agreed. This also led to the ISO working group being established as the policy body and the US group as the principal technical development body.

Afternoon session

The afternoon session looked at the present and future. Malcolm Cohen described working on the NAG Fortran compilers. His first compiler had been that for Fortran 90. The initial plan had been to stay strictly within the standard but this had proved unrealistic as users demanded extensions like REAL*4. WHERE and FORALL had caused difficulty in implementation in Fortran 90 and 95 respectively. For Fortran 2003 NAG were taking five steps to move from Fortran 95 to 2003 and were currently about half way to completion. The input-output still needed rewriting but NAG expected to have the first full Fortran 2003 compiler on the market.

Ron Bell described use of Fortran at the Atomic Weapons Establishment. Fortran 90 had been enthusiastically adopted there and was much prized for its performance. Comparable US sites had moved to C and C++ because they were the languages with which new recruits were familiar; this was regarded at AWE as a retrograde step. Michael Saunby described the use of Fortran for weather forecasting and climate prediction at the Met Office Hadley Centre for Climate Change. The climate model had about a million lines of Fortran code. Apart from parallel machines and large clusters in-house, the climate model harnessed the power of idle home and business PCs worldwide to help forecast the climate via climateprediction.net.

Finally David Muxworthy, BSI Fortran convenor, and John Reid, ISO Fortran convenor, gave brief summaries of the new features in Fortran 2003 and Fortran 2008 respectively. The main points of the former were standardized interoperability with C, object-oriented support and enhancements to derived types. For the latter, they were co-arrays for parallel programming, a new intrinsic type BITS and intelligent macros. In both cases there were large numbers of other technical enhancements.

Fuller details of the programme, with links to the speakers' presentations and links to further information relative to their content are at http://www.fortran.bcs.org/2007/jubileeprog.php.

This page also has links to further contributions on early experiences with Fortran and to Brian Meek's account of the Fortran 90 hiatus (also in Fortran Forum, Vol 9 No 2, October 1990, pp 23-32).

As at the end of the day, thanks must be offered again to Peter Crouch who had organized the meeting, collected a splendid set of speakers, seen to provision of the infrastructure, persuaded the hosts to find a larger room when the original room became overbooked, persuaded the BCS to fund the day fully and ensured that everything ran smoothly. Thanks are due too to members of the committees of the FSG and CCS and BCS HQ staff who all contributed to the success of the meeting.

For a complete set of photographs taken at the meeting by Jane Sleightholme and John Reid have a look at http://picasaweb.google.com/JandA.Reid/Fortran50
Thanks Jane and John.


This report was first published in the ACM's Fortran Forum, Vol 26, No 1, April 2007.


Comments on this or any other of the Group's pages should be sent by email to the FSG Web Editor.
Valid XHTML 1.0 Transitional Valid CSS!

Last modified: Sun 9 Dec 2012 15:00:42