How John Backus’ Fortran Beat the Machine Code ‘Priesthood’

3 Jul 2022 6:00am, by

John Backus one of the founding forefathers of early computer programming, and in many ways set the stage for modern programming languages.

Backus led the team that developed the Fortran programming language in 1957, still touted today as “the first high-level programming language” on web pages at IBM. As the Associated Press wrote — half a century later — in an obituary for Backus, “Prior to Fortran, computers had to be meticulously ‘hand-coded’ — programmed in the raw strings of digits that triggered actions inside the machine.”

But what was that world like when Fortran arrived? And how did Backus and his team achieve this historic breakthrough?

Though Backus died in 2007, the world magically caught another glimpse of him sharing memories of that history that he’d helped to shape — in a rare 48-year-old video rediscovered by Silicon Valley’s Computer History Museum. The museum spent years restoring video footage from the legendary Los Alamos conference, a gathering of dozens of the world’s top computer scientists, engineers, and software pioneers.

The conference had been a moment of living history, featuring appearances from ENIAC co-inventor John Mauchly, Richard Bloch (who’d worked with Grace Hopper in 1944), and algorithm pioneer Edsger W. Dijkstra.

Last month the museum unveiled its lost treasures, offering a look back to 1976 — America’s bicentennial — including this chance to watch Backus sharing his memories of “Programming in America in the 1950s.”

And a chance to see other computing pioneers expressing their appreciation for everything Backus had done.

The Way We Were

Backus began his presentation that day by remembering a time when programming “really was fun” — partly because computers of the day challenged them with “absurd difficulties.

“The programmer really had to be some kind of resourceful inventor to adapt his problem to the strange idiosyncrasies of the machine he was programming.”

John_Backus_2 (Creative Commons photo by PIerre.Lescanne via Wikipedia).

Faced with miniscule storage — and a limited instruction set — a programmer like Backus “had to employ every trick that he could think of to make the program run fast enough to justify the rather enormous cost of running it. And he had to do all of that by his own ingenuity, because the only information he really had was the problem at hand, and the machine manual.”

Backus remembers with a laugh that “Sometimes there wasn’t even a machine manual…”

But to make his point, Backus contrasted it with the 1970s, a world where a programmer now had a superior who knew how to do a job — and how long it should take. “So his work is no longer regarded as an art or a mystery, and his productive capacity depends to a very large extent on his ability to find what he needs to use in some six-inch-thick manual of some baroque programming system or operating system.

In contrast, programming in the early 1950s was a black art, he said, calling it a very private and arcane matter. Often it was just “involving just a programmer, a problem, a computer, and sometimes a small library of subroutines, and possibly a primitive assembly program.”

This gave the realm a “vital frontier enthusiasm,” Backus said poignantly — although “Like any other frontier group, the programming community also had its purveyors of snake oil.” Backus remembered that “Some early programming concepts and systems enjoyed a kind of fantasy fame that was a result of the energy with which they were publicized more than anything else…”

Backus laughed, adding that “Sometimes the snake oil would work, and sometimes it didn’t.”

Yet this led to a culture that would also go on to have real-world consequences because many in the programming world seemed to value its abstruseness. Fierce debates raged about, for example, whether data should be encoded in pure binary or in easier-to-use binary-coded decimal numbers.

“Just as westerners and other frontier types developed a rather chauvinistic pride in their frontiersmanship and a corresponding kind of conservatism that went with it, so many pioneering programmers in the 1950s began to regard themselves as members of a priesthood guarding skills and mysteries that were far too complex for ordinary people,” he said.

Plans to make programming accessible to large populations met “a considerable hostility and derision,” as well as skepticism of this heretical notion that “a mechanical process could do all the mysterious, inventive things they did to produce an efficient program.

“So they were really opposed to those few mad revolutionaries that wanted to make programming easy enough so that everyone could do it.”

And that was the world that Fortran confronted. Even after recognizing a need, “the resistance of the priesthood was such that the whole thing was likely to be ignored — unless you could turn the idea into a fully-developed system that would prove the practicality of the idea beyond a shadow of a doubt.”

But fortunately, Backus had a different mindset. The Associated Press quoted Backus’s 1979 self-assessment to the IBM employee magazine Think that “Much of my work has come from being lazy. I didn’t like writing programs, and so… I started work on a programming system to make it easier to write programs.”

In his 1976 talk Backus credits the team he’d led that solved “a large number of very difficult problems” for the FORTRAN 1 compiler, adding “I was not one of those people. I was sitting around doing things that were hard to describe…”

But later in the talk one of Backus’ co-workers at IBM corrects the record. “I was in the office with him every day. And he didn’t doodle off like he says. He was there guiding the troops all the time.”

A Historic Consensus

Betty Holberton (right) in US Army photograph (via Wikipedia) of Eniac between 1948 and 1955.

Betty Holberton (right foreground) programming the ENIAC computer in Philadelphia, Pennsylvania, BRL building 328 (1940s/1950s)

In fact, Backus’ audience was filled with computing pioneers bringing their own inside knowledge about the early days of programming.

The first question came from Betty Holberton, who identified herself as a worker from the Bureau of Standards (now the National Institute of Standards and Technology — NIST). In fact, Holberton was one of six women who’d programmed ENIAC, the world’s first general-purpose electronic digital computer.

Holberton asked for Backus’s memories about how in 1954 people from IBM traveled the country describing FORTRAN. “To me, that is a real first, because that is an attempt to get consensus. And I consider that to be the beginning of standardization of languages.”

And Backus admitted that he was actually surprised by the warm reception the Fortran received when he’d met those prospective users.

“I expected to get, you know, an enormous amount of objections and suggestions…” Yes, his team had put a lot of work into it, but when those meetings finally arrived, Backus jokes that perhaps “they either didn’t believe it, or they didn’t understand it, due to my garbled presentation.”

But Holberton interrupted. “I remember the discussion in Washington. It was very spirited!”

 Betty Holberton speaking from the audience in 1976 (screenshot from CHM video of John Backus talk)

Betty Holberton spoke from the audience in 1976 at John Backus’ talk. (screenshot from CHM video).

Another question came from “Knuth at Stanford” — legendary computer scientist Donald Knuth — who wondered who’d coined the word software. And another question came from prominent mathematician John Brillhart, who admitted Backus’ description of a priesthood opposing easier languages was accurate — but with an additional caveat. “I would’ve called the people on the opposite side a part of a priesthood.” That is, the optimizers writing the language, “the people that I came in contact with… many of them acted very much like they were part of a priesthood.”

Backus responded, his sheepish smile a kind of acknowledging admission, even as he said to a knowing laugh from the audience, tongue-in-cheek, that “The sociology of the priesthood is very complex, needless to say.”

But almost instantly there’s another response from mathematician (and Turing award winner) Richard Hamming, who says of Backus, “I think that he has been far too modest about what happened. The opposition to FORTRAN and any automatic coding system seems to me very very high. And the courage he had to persist I think should be recognized. He pretended he did nothing. I was privileged, while using [IBM’s last pre-Fortran mainframe] the 701, to have lunch with him regularly. I was tremendously impressed with the courage he had to keep the group going in the face of strong opposition of the priesthood.”

And then there was spontaneous applause.

But before the next question, Backus insisted on cutting in with his response. “It didn’t take any courage. it was a lot of fun!”