John Bekus

John Bekus

American mathematician, creator of the FORTRAN programming language
Date of Birth: 03.12.1924
Country: USA

Biography of John Backus

John Backus, an American mathematician and the creator of the programming language FORTRAN, was born into a family of a chief chemical engineer at a nitroglycerin production firm. Backus began his career as a humble employee but quickly rose through the ranks during World War I, thanks to his technical inventions that prevented a series of explosions at factories. It can be said that John had a natural inclination towards improving inefficient processes.

However, initially, there was no indication that young Backus would be of any use. As he later recalled, despite being enrolled in a prestigious school by his parents, he had a strong aversion to the learning process. In other words, John Backus was a true slacker in his childhood and youth. In 1942, he entered the University of Virginia, but the only class he attended once a week was music. By the end of his second semester in 1943, the university administration decided that the young slacker's further presence was unnecessary, and Backus was expelled.

At that time, World War II was raging, and the United States had been at war with the Japanese Empire for a year and a half. Young John Backus, who had practically received no education, enlisted in the Pacific Ocean's anti-aircraft forces as a corporal. However, he never made it to the actual combat zone. A medical examination diagnosed him with a skull bone tumor, and doctors implanted a metal plate in his head. Backus believed that the plate was poorly made, so he contacted technicians who worked with such plates and commissioned them to make a new one according to his own designs.

Equipped with his self-made metal cap, Backus was discharged and settled in New York. He then started thinking about what he should do with his life. Besides music, nothing else interested him. In his desire to have good equipment for listening to music, he enrolled in a radio engineering school to build all the necessary devices for himself. At the school, one of the teachers asked John Backus for help in constructing frequency response graphs for an amplifier. The calculations were not difficult, but their abundance was tiresome. Unexpectedly, these repetitive mathematical operations caught Backus' interest, and he enrolled in mathematics courses at Columbia University.

In the spring of 1949, a few months before receiving his diploma, the 25-year-old John Backus was still unsure about his future. One day, while searching for a promising job, he stumbled upon the IBM Computing Center on Madison Avenue. At that time, the word "computer" did not mean what it means today. Backus became acquainted with the Selective Sequence Electronic Calculator (SSEC) project - one of IBM's first developments in the new field of electronic computing devices using vacuum tubes. This, so to speak, computer did not have memory, and all input and output were carried out through punch tapes. After the interview, John Backus was hired. This moment significantly influenced the subsequent development of global programming and, as a result, the entire computer technology as a whole.

In the SSEC project, John Backus was involved in the task of calculating the position of the Moon within a 12-hour interval at any given moment over a 200-year time span. Each position calculation required 11,000 additions and subtractions, 9,000 multiplications, and 2,000 lookups in special tables, making the SSEC's 13,000 huge vacuum tubes hum like a church organ. The various SSEC units were arranged along the three walls of a room measuring 18 by 6 meters, so the employees were as if inside the computer. The calculations, including those performed by Backus, on the SSEC were used by NASA for space navigation from 1952 to 1971. Later, Backus had to perform even more exotic tasks, such as calculating accurate orbits of the five outer planets of the Solar System from 1653 to 2060. However, by 1952, the SSEC was already morally outdated and was dismantled.

The SSEC team dispersed into various IBM divisions. John Backus and a group of programmers joined the 701 project. IBM insists that the machine IBM 701, created in 1952, was essentially the first computer with an architecture that served as a model for all subsequent developers. This claim can be disputed, but the fact remains that for IBM itself, the 701 model truly became a watershed moment, and all subsequent IBM mainframe models were its distant descendants. Additionally, in the 701 machine, the developers managed to implement magnetic tape technology. Various attempts to use magnetic tape had been made before the IBM 701, but specialists had been unable to make the information reading process stable. IBM engineers solved this problem. Thus, it can be said with certainty that the era of magnetic storage began with the IBM 701. However, the IBM 701 was still a vacuum tube machine, and in 1954, IBM launched a new project - the 704. This was already a machine of a new generation - the generation of electronic-magnetic memory. The IBM 704 provided programmers with a universal set of commands for working with, including floating-point numbers. Those who have ever written algorithms for processing floating-point numbers in Assembly language know how challenging it can be. And at that time, programming mainly involved mathematical formulas, with no mathematical coprocessors available. It is not surprising that eventually, the lazy John Backus (as he later jokingly, or perhaps not entirely jokingly, recalled) began to think about how to create a machine-independent language that would make it easy to program mathematical formulas. Backus assembled a group of nine certified mathematicians, and they enthusiastically set to work on creating a new language. These nine individuals later entered the pantheon of programming fame, so it is worth mentioning their names: Robert Nelson, Harlan Herrick, Lois Haibt, Roy Nutt, Irving Ziller, Sheldon Best, David Sayre, Richard Goldberg, and Peter Sheridan.

In his memoirs, Backus writes that due to his inherent laziness, he created a management system for the group that allowed him to do nothing. The only challenge for him was how to prevent group members from wasting so much time playing games. During lunch breaks, the programmers in Backus' group enjoyed playing chess (not virtual but real at that time). No threats could make them stop this foolish time-wasting before two o'clock in the afternoon or even later. Since then, it has become the norm - programmers worldwide must devote at least two hours a day to computer games. Of course, John Backus is joking when he says he did nothing. The honor of creating the first high-level language (HLL) belongs to him, and no one has ever taken away those laurels. The specification of the new language emerged in the fall of 1954. The program text became simpler, and constructions like IF for branching and loops were introduced. But most importantly, programming formulas became incredibly simplified. For example, the formula D = B^2 - 4AC, which would require dozens of lines of code even in modern Assembly language, could be elegantly written as D = B**2 - 4*A*C in the new language. It is not surprising that the new language was called a formula translator. Later, the abbreviation of this phrase - FORTRAN - became the official name. In November 1954, Harlan Herrick ran and successfully executed the first "FORTRAN" program on an IBM 704 machine, which was essentially the first HLL program.

The emergence of a high-level programming language that was not tied to any specific machine architecture provided a powerful stimulus for the development of computer technology. Now, programmers could write programs that significantly surpassed what could be done in Assembly language in a relatively short amount of time. Consequently, the hardware requirements also increased, driving inventors to create more powerful computing systems. However, the creation of FORTRAN was not John Backus' only contribution to the development of modern programming. In 1960, a group of programmers from Zurich, making some modifications to the FORTRAN II specification, created the algorithmic language Algol-60. John Backus actively participated in the discussions about the new language. However, there was a problem - Backus' English was not easily understood by the Swiss programmers. To eliminate mutual misunderstandings, special diagrams were used to describe the language's constructs, which Backus developed together with Peter Naur. Since then, the Backus-Naur Form (BNF) has become like the Esperanto of the programming world. For programmers who know BNF, familiarizing themselves with a new language does not require studying thick manuals; it is enough to study the BNF of that language.

Finally, John Backus created the language FP, which, however, did not become as popular as FORTRAN. FP is a so-called pure functional programming language, where programmers focus not on variables and their values but on "black boxes" - functions that have input and output. The ideas used in the FP language served as material for reflection for the creators of the LISP language. Some modern programming theorists believe that strict functional programming is the future, as using this method makes it easier to create "correct programs" - those whose correctness can be proven by analyzing the listing, rather than through lengthy testing.

© BIOGRAPHS