Modern programming languages seem to allow for endless possibilities. Not only can people create web applications in code that resembles the human language but they also have the ability to perform high speed, complex algorithms and data analysis which has become a normal part of our everyday lives. The programming language Fortran (short for FORmula TRANslation) revolutionized the way that humans can interact with computers and use them to assist with the most complex of tasks. Created in 1954 and released in 1957, Fortran is still in use more than 50 years later. As the first high-level programming language used for general purpose, Fortran paved the way for the programming languages that are widely used today.
A New Way To Program
In the late 40s and early 50s a team at IBM lead by John Backus sought to increase the efficiency and speed of computer programming. Prior to Fortran the only the way to write programs was through the use of binary and hexadecimal machine language. In order for humans to interact with computers they had to manually type the “computer language” of 0s and 1s. This made programming an extremely long and tedious process.
John Backus assembled a team of “problem solvers” to take on this task. He put together a group of people from diverse disciplines. His team included scientists, mathematicians, programmers, a cryptographer, and a chess wizard.
The goal was to create a new programming language that was more understandable to humans and able to perform repetitive tasks all while maintaining a near efficiency to using manual machine code. A program that was able to perform complex statistical, mathematical and scientific work by combining shorthand english with algebraic equations. To allow for the translation of math formulas into code.
Backus wanted to abstract the software from the hardware it ran on and to “mechanize the organization of loops” by using a series of instructions that are repeated a number of times until a specific result is achieved. In a 1979 interview he stated “Much of my work has come from being lazy. I didn’t like writing programs, and so, when I was working on the IBM 701, writing programs for computing missile trajectories, I started work on a programming system to make it easier to write programs.” This ideology could have been the beginning of the notion that “programmers are lazy” implying that they tend to favor and look for ways to be more efficient. The principle of DRY (don’t repeat yourself) aims to create code where a single a method is used to perform a task repetitively instead of rewriting the same thing over and over again.
The original version of Fortran, which was designed for the IBM 704 computer, allowed for the use of 32 different “statements”. These included DIMENSION, EQUIVALENCE, FREQUENCY, GOTO, ASSIGN and an arithmetic IF statement. These data types formed the path for what later resulted in the use of logical variables like true and false as well as integer, real, and double-precision numbers in computer programming. This was also the introduction of statements that created subroutines and functions to allow for the re-use of code. Before Fortran a typical problem would require 1,000 program instructions. Fortran was able to reduce that number to 47. Companies now had the ability to build expansive number crunching programs to create tables and assess risk.
Fortran also introduced the first optimizing compiler. This allowed a programmer to write only 5% of the instructions and have the program generate/compile the other 95%. Programs were now able to be written 500% faster while having the efficiency reduced by only 20% compared to machine code programming. A programmer was now able to focus more on actual problem solving as opposed to spending the majority of their time writing out code. This new type of compiler also resulted in a new branch of computer science known as compiler theory.
By the early 60s a growing number of dialects started to emerge. This lead to the American Standards Association creation of a standardized version. As a result a single program was not confined to specific computer and could be used universally. This version became known as FORTRAN 66. This took the basic FORTRAN language and removed it’s machine-dependent features. Some features that were included in this update were a DATA statement to specify initial values, comment lines, and the END line statement.
Later on more dialects reemerged resulting in a new standard known as FORTRAN 77. This version introduced block IF and END IF statements with ELSE and ELSE IF clauses, extensions to the DO loop, the CHARACTER data type, a PARAMETER statement to specify constants, and a SAVE statement to preserve local variables. Also new error handling methods were added as well as mechanisms for managing large scale programs.
The rise of new languages like C (introduced in 1972) brought about the ability to dynamically allocate memory and define heterogeneous data structures. Fortran attempted to compete with this by releasing Fortran 90 in 1991 which included features such as modules, recursion, pointers, array operations, interface blocks, and user-defined date types.
Later updates included Fortran 95, Fortran 2003, Fortran 2008 and Fortran 2018.
Fortran was the first high level language in the world to use standardization. Today the standardizing of computer languages has become a detrimental aspect that allows for compatibility and collaboration among programmers. Being able to run a program on any computer allows for widespread use of that language. Also by keeping to a single dialect, programmers can easily collaborate with each other allowing for the communities of open source software which are widespread today.
Even though Fortran is no longer the language of choice that is was in the 50s, its presence can still be felt in the industry. It’s currently still used for high-performance computing. The programs that benchmark and rank the world’s fastest supercomputers use Fortran. It’s still used for large scale numerical calculations in science and engineering. In physics it’s used for the astrophysical modeling of stars/galaxies, and hydrodynamics codes. NASA as well as companies like Lockheed Martin and Boing also still use Fortran.
After radically changing the industry, Fortran has stood the test of time. The current state of programming reflects the breakthroughs that Fortran has contributed. The ability to write code in a language that can be easily read and written by humans, the use of statements and functions to compute equations and algorithms, and the dramatic increase in computing efficiency can all be attributed to the creation of Fortran. One can say the Fortran has truly been revolutionary.