An article from HPCwire, June 15, 2001
PIONEERS OF THE "FORTRAN" PROGRAMMING LANGUAGE
FEATURES AND COMMENTARY
06/15/01
Steve Lohr for The NY Times: They were young, in their 20's and early 30's,
brimming with energy and optimism, a tightknit team. Their goal was to
simplify programming and open up computing to more people. The industry
consensus was that they were trying the impossible. They suffered setbacks and
disappointments. A six- month timetable for completion became nearly three
years.
But they finished eventually, and in 1957 the result of their labors was shown
to the world. It was called Formula Translator -- Fortran, for short. John
Backus, who led the team at I.B.M., came up with the name to no great
enthusiasm from his colleagues. They used to joke that it sounded like
something spelled backward. But nobody could come up with a better idea, so
the name stuck, as did Fortran, a programming language that was a historic
breakthrough in computing.
Today, Fortran is often mentioned wistfully by computer scientists and veteran
programmers as the first programming language they learned but then abandoned
as newer languages were developed for new kinds of computing. But to point out
how quickly programming has moved to generations of new tools does not
minimize the extraordinary advance that Fortran gave to the world of software.
Other programming languages rose from the foundation that Fortran built.
Computer historians have described Fortran as the software equivalent of the
transistor. Kenneth Thompson, who created the Unix operating system at Bell
Laboratories in 1969, observed that "95 percent of the people who programmed
in the early years would never have done it without Fortran. It was a massive
step." Or, as James Gray, a leading software researcher who now works for
Microsoft, declared with a biblical flourish, "In the beginning, there was
Fortran."
Before Fortran, putting a human problem -- typically an engineering or a
scientific calculation -- on a computer was an arduous and arcane task. It
could take weeks and required special skills. Like high priests in a primitive
society, only a small group of people knew how to speak to the machine. Yet
there were some heretics in the priesthood, and Mr. Backus was one of them. "I
figured there had to be a better way," he recalled nearly five decades later
at his San Francisco home, which overlooks the Golden Gate Bridge. "You simply
had to make it easier for people to program."
In late 1953, Mr. Backus sent a brief letter to his boss, asking that he be
allowed to search for a "better way" of programming. He got the nod and thus
began the research project that would eventually produce Fortran. The
managerial touch was light: Mr. Backus never made a formal budget, even as
schedules slipped and the team grew to 10 people.
The team was heavy with math training because so much of computing at the time
was numerical analysis and mathematics, but it was an eclectic group -- a
crystallographer, a cryptographer, a chess wizard, an employee lent from an
aircraft manufacturer, a researcher borrowed from M.I.T. and a young woman who
joined the project straight out of Vassar College.
They worked together in one open room, their desks side by side. They often
worked at night because it was the only way they could get valuable time on
the I.B.M. 704 computer, in another room, to test and debug their code. The
odd hours and close work bred camaraderie. For relaxation, there were chess
matches and, in the winter, impromptu snowball fights. They knew one another,
and they knew their code and the machine they were working on, right down to
the metal. "We were the hackers of those days," said Richard Goldberg, now 77,
one of the original Fortran team members.
The success of the team hinged on two things. First, the group devised a
programming language that resembled a combination of pidgin English and
algebra. The result was a computing nomenclature that was similar to algebraic
formulas that scientists and engineers used in their work. So Fortran opened
up programming to the people whose problems were being put on computers in
those days. With some training, they were no longer dependent on the computing
priesthood to translate their problems into the language of the machine.
Professional programmers at the time worked in binary, the natural vernacular
of the machine then and now -- strings of 1's and 0's. There were also some
"assembly" languages. These allowed programmers to write instructions using
mnemonic abbreviations -- perhaps LD for "load" or MPY for "multiply,"
followed
by a number to designate a data location in the computer's memory. An
"assembler" program then translated, or assembled, these symbolic programming
instructions into binary. Each assembly language was tailored to a specific
kind of computer, and a line of assembly language corresponded to a line of
binary code.
Mr. Backus had his team aim for a very different target. The Fortran language
focused more on the problem the person using the computer wanted to solve than
on the machine's operations. Indeed, a line of Fortran code could translate
into many machine instructions, in binary. Fortran moved communication with a
computer up a notch, closer to the human and away from the machine. That is
why Fortran is called the first high-level language.
The other great success of Fortran was that it worked so well. That is,
Fortran generated programs that ran as efficiently, or very nearly as
efficiently, as the ones hand-coded painstakingly by the programming elite.
Machine time was a precious, costly resource. Matching the run-time efficiency
of human programmers was thought to be impossible. The I.B.M. team overcame
that barrier because of the masterful design of the Fortran compiler. Put
simply, a compiler is software that captures the human intent of a program and
recasts it in a way that is understandable -- executable -- by the machine.
For his first two recruits, Mr. Backus tapped Irving Ziller and Harlan
Herrick, programming veterans, which in the early 50's meant they had a couple
years' experience. Mostly, Mr. Backus simply chose people he spotted or who
were recommended, people who were bright and seemed to have a knack for
programming. Richard Goldberg, a math Ph.D., had just abandoned teaching after
a semester at Dartmouth College. He applied for a job at I.B.M. and was hired.
"I didn't know anything about computing," said Mr. Goldberg, who excelled in a
three-month programming course and was sent to the Backus team.
After graduating from Vassar, where she did well in math and science, Lois
Haibt was lured to I.B.M. by a starting salary of $5,100, nearly twice the
offer from Bell Laboratories. "They told me it was a job programming
computers," she said. "I only had a vague idea what that was. But I figured it
must be something interesting and challenging, if they were going to pay me
all that money." David Sayre, a crystallographer, began to use computers for
his biophysics research, and found himself pulled in. "You entered a world
that kind of ran the way it was supposed to, a world made for working out the
logic of something," Mr. Sayre said.
Fortran was presented to the computing world in February 1957 at the Western
Joint Computer Conference in Los Angeles. At the conference, I.B.M. arranged
for what is known in the industry today as a "demo" -- a public demonstration
--
of Fortran. Shortly before the conference, I.B.M. had asked a few of its
customers to come up with real-world computing chores, like calculating
airflows for the design of a jet wing. The problems would be given to assembly
programmers to code, but also written in Fortran. When the Fortran-compiled
programs ran on the computer, they matched the hand- coded programs in terms
of running time on the machine. Fortran saved a lot of labor, enabling
professionals to program a problem about five times faster than before; it
also opened up programming to new practitioners. "It was a revelation to
people," Mr. Ziller said, recalling the 1957 demo. "At that point, we knew we
had something special."
Today, the six surviving members of the original Fortran team are in their
70's. They are far removed from the computer business, but not altogether
divorced from software. Mr. Backus conceded that he "couldn't live without"
his Palm hand-held organizer, which is many, many times more powerful than the
room-size machines of the 50's.
Mr. Sayre has returned to crystallography, as a researcher affiliated with the
State University of New York at Stony Brook. Like biology, crystallography is
increasingly becoming a computational science, relying on fast computers and
clever software. "With any luck, crystallography will take on a new life,
extending its reach, thanks to the magic of these machines and software," Mr.
Sayre said.
Our Sponsors:
SGI
IBM Corp.
Visual Numerics
Compaq
Hewlett-Packard
NEC
Portland Group
Fujitsu
SUN
NAG
QSW
Etnus / TotalView
Cray Inc.
Essential
Intel
GENROCO
Linux NetworX
API
DataDirect Networks
Veridian/ PBS Pro(tm)
Atipa Technologies
SRC Computers