In the early 1950s, most scientists programmed in machine code or
assembly. A mathematical formula had to be decomposed into
computer-specific instructions with explicit handling of registers and
addresses. Execution was fast once the program existed, but preparation
could take weeks.
The IBM team led by John Backus proposed a
break with this practice: write formulas in notation closer to
mathematics, then let a program translate them. FORTRAN, short for
Formula Translation, succeeded only because its compiler generated
code efficient enough to compete with assembly specialists.
The hidden cost of early computers
Machine time was expensive, but programmer time was too. As computers
accelerated, preparing programs represented a growing share of a
calculation’s cost.
Backus first worked on Speedcoding for the IBM 701. It offered
convenient operations, including floating-point arithmetic, but
interpreted instructions and sharply reduced execution speed. It showed
the value of accessible notation while confirming that scientists would
not accept a major performance loss.
In 1953, Backus proposed a translation system for the IBM 704. The
machine provided hardware floating-point arithmetic and index registers,
but using them efficiently required complex code organization.
One team, a language, and a compiler
IBM assembled a team with complementary skills. Harlan Herrick, Irving
Ziller, Peter Sheridan, Roy Nutt, Robert Nelson, Lois Haibt, and others
contributed to syntax, analysis, optimization, and testing.
The language offered arithmetic expressions, loops, and branches suited
to numerical work. Its early form still reflected hardware and punched
cards through reserved columns, numeric labels, and the GO TO
statement.
The decisive innovation was the compiler. It analyzed dependencies,
organized register use, and reduced repeated operations. The goal was
not merely correct output, but speed that would remove any desire to
return to assembly.
Delivered in 1957, the compiler exceeded many users’ expectations.
Programming time fell dramatically, and FORTRAN spread with IBM
computers.
Why optimization was required for adoption
A high-level language creates distance between source text and processor
instructions. That translation seems ordinary today; in 1957, trusting
software with optimization decisions was a gamble.
FORTRAN showed that a compiler could perform mechanical work more
consistently than a person, especially on large programs. This changed
software economics: the computer no longer only executed the final
calculation; it helped manufacture the program.
Productivity did not replace numerical expertise. An unstable formula or
incorrect model remains wrong regardless of compiler quality. FORTRAN
separated scientific expression from processor detail; it did not
replace domain knowledge.
From dialects to standardization
Success quickly produced versions and extensions. FORTRAN II added
separate compilation of subprograms. FORTRAN IV clarified the language
and spread widely, while manufacturers introduced proprietary features.
Fragmentation threatened portability. A US standard appeared in 1966,
and later revisions organized the language’s evolution. FORTRAN 77
generalized established practice. Fortran 90 introduced free-form
source, richer arrays, modules, and structured-programming tools.
The official spelling changed from FORTRAN to Fortran as part of
modernization, without creating a separate language. Later editions
added object-oriented facilities, concurrency, and better C
interoperability.
Compatibility remained important. Scientific models validated over
decades embody knowledge that is expensive to reconstruct. Gradual
evolution is often safer than a complete rewrite.
A language built for arrays
Scientific computing frequently handles vectors, matrices, and grids.
Fortran expresses operations on whole arrays, giving compilers
information useful for vectorization and parallelization.
Its model also makes some alias analysis easier: a compiler can more
often establish whether names refer to the same memory. That knowledge
permits reordering operations without changing results.
These properties keep Fortran competitive in climate simulation, fluid
dynamics, physics, and other high-performance fields. Its longevity
comes not only from old code, but from maintained specialization.
FORTRAN, COBOL, and broader access to programming
FORTRAN and Grace Hopper’s work addressed
the same obstacle: machine code limited how many people could turn a
problem into software.
Their initial domains differed. FORTRAN emphasized formulas and
numerical performance. FLOW-MATIC and COBOL emphasized files, records,
and organizational vocabulary. Together they showed that a language
could target a category of problems rather than one machine.
ALGOL, Lisp, Pascal, and C continued
separating intention from hardware with different priorities: algorithm
description, symbolic computation, structured education, or systems
programming.
Why Fortran still matters
Fortran shows that a language need not discard its past to remain
modern. It can preserve proven programs while adding abstractions,
standards, and tools for new machines.
Its broadest historical contribution was making optimizing compilation
credible. Developers now use far more abstract languages because
compilers learned to turn intentions into efficient code. FORTRAN
supplied one of the first decisive demonstrations.
Timeline
- 1953: John Backus proposes a formula-translation system at IBM.
- 1954: The FORTRAN team for the IBM 704 is formed.
- 1957: The first FORTRAN compiler is delivered.
- 1958: FORTRAN II supports separately compiled subprograms.
- 1962: FORTRAN IV rationalizes the language.
- 1966: The first US standard is published.
- 1978: FORTRAN 77 is standardized.
- 1991: Fortran 90 is published with the modernized spelling.
- 2003: Fortran 2003 adds object-oriented mechanisms.
- Today: Fortran remains active in scientific and high-performance
computing.
Frequently asked questions
Did John Backus create FORTRAN alone?
No. He proposed and led an IBM team of specialists. The language and
especially its compiler were collective achievements.
Why was the first compiler exceptional?
It had to optimize well enough to persuade scientists accustomed to
controlling every instruction. Its techniques established high-level
languages as credible for performance.
Do FORTRAN and Fortran name the same language?
Yes. Fortran became the official modern spelling. It marks substantial
evolution without breaking the historical lineage.
Why is old Fortran code preserved?
It often contains numerical models tested and validated for decades.
Rewriting them may introduce subtle scientific errors.
Is Fortran limited to old computers?
No. Modern compilers target current processors and supercomputers, and
the language includes modules, rich arrays, objects, and concurrency
tools.
What is the main difference between FORTRAN and COBOL?
FORTRAN initially targeted scientific calculation; COBOL targeted
business data processing. Both sought to free programs from machine
code.