Fortran Specialist Group

My comments on FORTRAN versus Algol

Peter Crouch

The passion displayed by David Hill in his description of Algol 60 prompted me to find out more about this wonder language.

I found a copy of the Revised Report on the Algorithmic Language Algol 60 on the Internet and on reading it the use of begin and end and procedures brought back memories of Pascal, which was the first compiled language I used back in the late 1970s and early 80s, before a Fortran compiler was available on the Apple II 8 bit microcomputer. From other reading I see that Nicholas Wirth was strongly influenced by Algol in his design of Pascal. I later used both Fortran and Pascal on HP Series 2000 microcomputers in the mid-80s.

My final contact with Pascal was in the form of Borland's Delphi compiler which I used in 2000 to compile Pascal source code for a parametric to B-spline conversion program which I had obtained from the U.S. National Institute of Science and Technology (formerly the National Bureau of Standards) back in 1989.

I know very little about the facilities of the pre-FORTRAN 66 language and my knowledge of FORTRAN 66 is limited to maintaining old Fortran code but I can see that the structured programming features of Algol, the blocks delimited by begin and end and the availability of the block if ... then ... else construct compared to the arithmetic IF, logical IF and computed GOTO statements of FORTRAN 66. The "free format" layout of Algol code would also be more appealing than the fixed format required by FORTRAN. Despite David's criticism of gotos and labels I see that they featured quite strongly in the example code in the Report. However, I am still surprised that the authors of the Report did not consider it essential to define a standard way of handling input and output.

I may not have understood the description of the switch construct correctly but some aspects of it look similar to the assigned GOTO statement in FORTRAN 66, where a previously ASSIGNed integer variable will cause a branch to one of a number of statement labels.

It was not until I looked closely at the list of authors of the Report that I realised that John Backus was involved with Algol so soon after working on the development of Fortran and also that the Algol Report featured the first use of the Backus-Naur Form to describe the syntax of the language. Peter Naur, the editor of the Report, was the 2005 recipient of the ACM's Turing Award. After the Report he went on to co-author the GIER Algol Compiler for the Danish GIER computer which Josef Illes mentioned using in his comments.

I can now see why Algol 60 was so appealing in the early 1960s compared to FORTRAN II, IV and later 66. I hope David will now feel that after over 30 years Fortran has finally caught up.

February 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:50