John Backus, the Father of FORTRAN (1924-2007)

by Rob Meyer, CEO NAG Group

The man whose IBM project team conceived the FORTRAN language and developed its first compiler died recently at the age of 82 in Ashland, Oregon. In an industry where youth is no barrier to accomplishment, the then 29 year-old IBM project manager and his team changed the course of software development. In honouring the memory of John Backus, we can trace a bit of software development history and discover another meaning of the French “Plus ca change, plus c'est la meme chose” (“The more things change, the more they remain the same.”)

Predictably, as was the custom in the 1950's, it all started with a memo to his boss...

Prior to Backus, programming was done in very low-level machine languages which were both difficult to learn and tedious to code. He believed that a language that was closer to English and expressed problems in a more natural mathematical notation would dramatically increase both the speed of development and the number of people who might write software.

The key to Backus' dream was what would become the original FORTRAN (FORmula TRANslator) compiler released by IBM for the Model 704 machine in early 1957. Quickly on the heels of this original work came the FORTRAN II, III (never released) and FORTRAN IV (1961) compilers. FORTRAN became exceptionally popular because it produced fast code and made it much easier to write programs. Thus scientists and engineers, who were not computer experts, began to write programs to do their work. Other computer manufacturers followed suit with their own FORTRAN compilers; this growth of portability ultimately led to its standardization as FORTRAN 66.

Standardization next brought Fortran 77, perhaps one of the most widely used languages in the history of programming. Though widely used through the 1980s on countless millions of lines of code, many people considered Fortran in the same vein as Latin, of historical interest but hardly relevant to modern computing. The rise of C and its object-oriented descendent C++ captured the imagination of many developers.

After a long delay Fortran 90 emerged and Fortran began to regain its relevance. Since the ratification of Fortran 90, the Fortran 95 and Fortran 2003 standards have been published and work is well underway towards Fortran 2008. With each standard Fortran has adapted to the real world of mixed-language programming, object oriented features and other modern constructs.

By some counts, more than 150 programming languages have been introduced since Backus' first FORTRAN compiler was introduced. Most of them are lost to memory but Fortran continues to be widely used because of the huge body of code that exists for a language which is easy to learn, produces exceptionally fast code, is interoperable with many other languages and is widely portable through a number of different compiler implementations. While Java, C/C++, .Net and various scripting languages thrive, Fortran continues to be widely used and appreciated by those in scientific and technical computing for its unique advantages.

At NAG, we are proud to be a part of both Fortran's history as well as its future. NAG introduced the first Fortran 90 compiler, written by NAG's own Malcolm Cohen and we continue to contribute significant effort to the ISO Working Group charged with the development future Fortran standards.

Thus fifty years ago, John Backus and his team invented the first widely-used high-level programming language, starting a revolution in programming that has made the modern software industry possible. For that they should always be remembered.

For interesting reading on this subject see: “Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists, & Iconoclasts” by Steve Lohr.

Website Feedback

If you would like a response from NAG please provide your e-mail address below.

(If you're a human, don't change the following field)
Your first name.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.