Robert Hughes and the development of FORTRAN

Even before the Livermore Laboratory was established in 1952, the Lab’s founders understood the need for massive amounts of computing power. In 1953, the Lab acquired its first computer, the Univac-1, followed by the IBM 701 in 1954. Acquisition of the IBM 701 dramatically improved the Lab’s capability to perform scientific calculations, and it marked the beginning of the Lab’s ties to commercial supercomputing. While the Univac-1 was a simple machine to program, the IBM 701 was much more difficult to use, with a reliance on punch cards for input and output. To address these issues, IBM established a project under the leadership of John Backus to develop an “automatic programming” system called FORTRAN (formula translation) that would convert programs in a mathematical notation to machine instructions.

The Livermore Laboratory was well-aware of the project, as the IBM 701and the Lab’s subsequent computers, the IBM 704 and its successor the 709, were all developed in part at the urging of the Lab.Livermore computer scientists did not simply wait for the newer, faster machines —they contacted the manufacturers and urged them to design them for the Lab’s needs. Determined to gain firsthand knowledge of FORTRAN’s implementation and its potential as a programming aide, Sidney Fernbach, head of the Lab’s Computation Department, secured an invitation for Lab mathematician Robert Hughes to join Backus’ FORTRAN development team in New York in the summer of 1956.

Robert Hughes circa 1970
Livermore mathematician Robert A. Hughes, circa 1970s.

Hughes was fairly new to the Lab, having been recruited by friend and Lab employee Bob Abbott in 1954. With his background and education in mathematics, he was hired into Fernbach’s group and introduced to computing through early work assignments on the Lab’s large-scale application programs in mathematical physics that were run on the IBM 701. Hughes recounted that when he went to Fernbach for his first assignment,“…[Fernbach] said, ‘[w]ell, just walk down the hall and find something to do’… a classic way of assigning things in those days.” He did and was assigned work on developing computer code for Monte Carlo physics simulations.

Less than two years later, Hughes arrived in New York to work with Backus’ team and represent the Lab’s interests. Backus had first submitted his proposal to IBM management in late 1953 to develop a more efficient alternative to assembly language for programming the IBM 704. In 1954, he and his team developed a draft speculation and began work on developing the system. When Hughes joined the group, the team had been in operation for over a year, and everyone had already been assigned to a major section of the compiler.

According to Hughes: “[e]verybody had a specific task. And they knew that I was unfamiliar with their schemes, so they would just hand me the code listings. They’d say ‘[Holland] Herrick has this problem and we need a flow chart for that.’ I would read the machine language code and turn it into a flow chart….[E]ach person had his own set of tables to work with…[a]nd I would put the pieces together….I worked on what they called the ‘first-level’ documentation.’”

A few months later, in October 1956, the first manual for FORTRAN was issued, with Hughes listed as one of the 13 authors. The first FORTRAN compiler was delivered in April 1957. FORTRAN became the first computer language standard, and it helped open the door to modern computing. Earlier machine language programs had to be coded for a specific computer, while a FORTRAN program could be run on any machine with a FORTRAN compiler. So too, FORTRAN made code comprehensible for people with expertise in areas other than computing, opening computer programming to mathematicians and scientists.

Upon his return to the Lab, Hughes joined the Lab’s Computer Language Group, where he applied his firsthand knowledge of FORTRAN into helping develop the Lab’s own version of the compiler:LRLTRAN. LRLTRAN was an extended form of FORTRAN with features specific to the Lab. It became the most-used programming language at Livermore for a number of generations of the Lab’s large mainframes.