You need the willingness to fail all the time. You have to generate many ideas and then you have to work very hard only to discover that they don’t work. And you keep doing that over and over until you find one that does work.
John Backus
John Warner Backus (1924-2007), a bachelor of mathematics from Columbia University, saw his first computer in 1950, when he was hired as a programmer in the IBM Computer Center on Madison Avenue, to take care of the Selective Sequence Electronic Calculator (SSEC), an electromechanical computer (a hybrid of some 13000 vacuum tubes and 23000 electromechanical relays), built by IBM in January 1948. Wallace J. Eckert, the director of IBM’s Watson Scientific Computing Laboratory, did SSEC calculations of the moon’s orbit that would show up 20 years later in the Apollo space program.
Programming the SSEC was a real challenge, as there was no set way of doing it. Backus spent three years working on the SSEC, during which time he created a program called Speedcoding. The program was the first to include a scaling factor, which allowed both large and small numbers to be easily stored and manipulated.
In late 1953, Backus wrote a memo to his boss that outlined the design of a programming language for IBM’s new computer, the IBM 701, which, only the year before, had launched the company into a brand new world of electronic data processing. IBM approved Backus’ proposal, and in 1954 he was appointed as a boss of a small team of four people at the IBM Watson Scientific Laboratory. In May 1954 IBM launched a new computer, IBM 704 Data Processing System (an advanced computer with high-speed magnetic core memory, a magnetic drum storage unit, and a tape device, holding up to 5 million characters, see the below image), and the group switched to it.
IBM 704 had also a built-in scaling factor (automatic floating point operation), and index registers, which significantly reduced operating time. The inefficient computer programs of the time however would hamper the 704’s high performance, that’s why Backus wanted to design not only a better language but one that would be easier and faster for programmers to use when working with the machine. Backus wanted it to accept a concise formulation of a problem in terms of mathematical notation and to produce automatically a high-speed 704 program for its solution. Thus he decided to create a device that would translate the new language into something the machine could understand. This device, known as a translator, would eliminate the laborious hand-coding that characterized computer programming at the time. It contained an element known as a parser, which identified the various components of the program and translated them from a high-level language (one that people understand) into the binary language of the computer.
In November 1954, Backus and his team published the first formal proposal for the language—Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN. At the time, Backus anticipated completion of the compiler in six months. Instead, it would take almost three years, to be released commercially as late as 1957. FORTRAN appears to be the first high-level programming language to be put to broad use, after Konrad Zuse‘s Plankalkül, that (sadly) remained only on paper.
When completed, the Fortran compiler consisted of some 25000 lines of machine code, stored on a magnetic tape. A copy of the program was provided with every IBM 704 installation, along with a 54-page manual (see FORTRAN Programmer’s Reference Manual). The first versions of the program were understandably buggy, but later versions would refine and eliminate them.
The new language was designed preliminary for mathematicians and scientists and remains the preeminent programming language in these areas for more than three decades. It was the first widely used language, which allows people to work with their computers without having to understand how the machines actually work, and without having to learn the machine’s assembly language.
After Fortran, Backus turned his focus to other elements of computer programming. In 1959, in order to express the grammar of the new ALGOL language, he developed a notation (a formal way to describe formal languages) which will be called later the Backus-Naur Form. It describes grammatical rules for high-level languages and has been adapted for use in a number of languages. Backus-Naur Form quickly became the de facto worldwide standard for publishing algorithms. This contribution helped Backus win the Turing Award.
In the 1970s, Backus worked on finding better programming methods and developed what he called a function-level language, or FP (for functional programming).
Biography of John Backus
John Warner Backus was born in Philadelphia on 3 December 1924, to Cecil Franklin Backus (1885-1966) and Elizabeth Warner Edsall (1894-1933). Cecil Backus graduated with a degree in chemistry from the University of Virginia in 1906 and worked for the Eastern Laboratory of the Dupont De Nemours Powder Company before moving to work for the Atlas Powder Company in Wilmington, Delaware. He worked for the investment banking firm Gillespie & Meeds from 1920 to 1922. This firm became Laird, Bissell & Meeds and he was a partner from 1923 to 1940. Elizabeth Edsall, John’s mother, was the daughter of a Wilmington physician. Cecil and Elizabeth married on 28 May 1921 in Wilmington, New Castle, Delaware. They had three children, Anne Hall (born 25 March 1922), John Warner, and Cecil Franklin Jr. The family was well off and during the years that Cecil and Elizabeth Backus were married, they collected high-quality American antique furniture. After the early death of John’s mother Elizabeth in 1933, his father married Alice Beaver Candee (1901-1992) on 12 June 1935 in Wilmington, Delaware.
John spent his first years in Wilmington, Delaware, and then attended the Hill School in Pottstown, Pennsylvania. This family boarding school, founded in 1851, was highly regarded and run by the headmaster James Wendell. Backus graduated from the Hill School in 1942 although, according to his own account, he did not take his studies there too seriously.
John Backus entered the University of Virginia to study chemistry at his father’s request. In his first semester, he enjoyed the theory part of chemistry but disliked the laboratory work intensely. He enjoyed the social life, however, and was at every party that he could find. He was no more diligent than at school, however, and in his second semester, he only enrolled in one course – a music appreciation class. This was not what the University of Virginia expected of their students and in 1943 his studies were terminated. With America playing a major role in World War II, that year he joined the army. He was given the rank of corporal and put in charge of an antiaircraft crew at Fort Stewart, Georgia.
When he took this army aptitude test, his performance led to him being sent to the University of Pittsburgh to take the pre-engineering program. Given a medical aptitude test by the army, he was sent to Haverford College to take pre-medical training. Later in life, he thought that this may have saved his life since many of his friends at Pittsburgh were sent to Europe to serve on the Western Front. The Battle of the Bulge, the major German offensive in December 1944, saw the largest number of American casualties in the war, and many of Backus’s friends were killed. After a while at Haverford College, Backus was sent to an Atlantic City hospital where he worked in a neurosurgery ward that treated head wounds.
Strangely, a large bump on his head was noticed and he was found to have a bone tumor. After an operation to remove the tumor, he had a plate fitted in his head. For a while he was recovering, he had no duties and was able to enjoy the nightlife of Atlantic City. Again without any idea which direction he should take, he took an apartment in New York. The plate that had been put in his skull was giving problems so had a new one with the correct curvature fitted at a hospital on Staten Island. While in New York he met up with one of his friends from the University of Virginia. This friend took him to an apartment shared by three girls. One of the girls was Marjorie Ruth Jamison (30 September 1922—24 May 2010). Backus married Marjorie in 1947, and they had two daughters, Karen and Paula.
In 1945 Bakhus went to a radio technicians’ school, where he got interested in math. As a consequence, he entered Columbia University, New York, to study mathematics. He graduated with a B.S. in Mathematics in 1949 and continued to a Master’s Degree in 1950. Just before he graduated he visited the IBM Computer Center on Madison Avenue. When he told the guide that he was looking for a job she told him to talk to a director. There he took a test which he solved and was offered a job on the spot.
Backus joined IBM as a programmer in the Pure and Applied Science Departments in late 1950. The first problem he worked on was to write a program in machine code for the Selective Sequence Electronic Calculator (SSEC) to calculate the position of the moon from a function given by a series expansion with about 1000 terms. In 1954 he was appointed as manager of the Programming Research Department at IBM, a position he held for four years. He is considered the inventor of FORTRAN, the first high-level computer language to be developed. In 1959 he invented what is now called the Backus Naur Form (BNF), a standard notation to describe the syntax of a high-level programming language. (Peter Naur invented a similar scheme in 1960.) His third major contribution to computer science was to develop a functional programming language called FP, which advocates a mathematical approach to programming.
In 1966 Backus and his wife Marjorie were divorced. Just before they split up, Marjorie introduced Backus to Barbara Una Stannard (1927-2004) who was born Barbara Garlitz. Backus and Barbara, a poet and author with a Ph.D. from Harvard, were married on 18 July 1968 in San Francisco.
Backus received the President’s National Medal of Science from the National Science Foundation in 1975. For his pioneering contributions to computer programming languages, especially the development of the FORTRAN language which made the modern digital computer directly available to countless scientists and engineers. The Medal was presented by President Ford in a ceremony at the White House on 18 October 1976. He received the Turing Award from the Association for Computing Machinery in 1977.
John Backus died at his home in Ashland, Oregon, on 17 March 2007.