|
This section contains 1,343 words (approx. 5 pages at 300 words per page) |
World of Computer Science on John Backus
John Backus played an instrumental role in the creation of various programming languages and methods. The invention of the high-level programming language FORTRAN is the endeavor that has brought him the widest recognition. He also helped create the programming language FP, as well as the notation in common use to describe the grammar of programming languages: the Backus-Naur formalism.
The life of John Backus should serve as an inspiring example to anyone searching for their life's calling. In his youth, Backus accumulated an astonishingly dismal academic record. Backus recalls his years in a prestigious Pennsylvania high school: "I flunked out every year. I never studied. I hated studying. I was just goofing around."
Backus eventually graduated from high school in 1942, and then enrolled at the University of Virginia. His father, having earned a living as a chemist, wanted his son to follow in his footsteps. Although John liked the theoretical aspects of chemistry, he disdained the laboratory classes. The result was another dismal academic performance--lots of parties were attended, but few classes. He was kicked out of the university, and in 1943 joined the U.S. Army. Though assigned to an anti-aircraft crew, his high performance on an army aptitude test resulted in a transfer to the University of Pittsburgh pre-engineering program. Another aptitude test resulted in another transfer to a premed program. These transfers may have saved Backus's life, since, as he recalled: "My friends were shipped off to the Battle of the Bulge and I went to Haverford College to study premed."
Part of Backus's premed training entailed working in a ward at Atlantic City Hospital that treated head wounds. Amazingly, Backus himself was diagnosed with a cranial bone tumor, and after it was removed a metal plate was installed in his head. Upon recuperation from surgery, Backus attended medical school, his stint as a would-be doctor lasting a mere nine months: "I hated it. They don't like thinking in medical school. They memorize--that's all they want you to do. You must not think."
After leaving medical school, Backus moved into a New York City apartment, at a total loss as to his next move. While taking a class in radio at a technical school, he became interested in mathematics while working on a project with his teacher--"the first good teacher I ever had...." Backus then enrolled at Columbia University to pursue a mathematics degree. Several years later, as he approached graduation in 1949 (and still rather aimless in life), he took a tour of IBM's Computer Center in New York City. After seeing IBM's SSEC vacuum-tube computer, Backus told the tour guide he was in search of work. After an interview and a test, he was hired to work on the SSEC, where he would remain for the next three years. Computers in those days were prone to frequent failures, and programming was just about as hit-or-miss as the computer equipment itself. As Backus recalls: "You just read the manual and got the list of instructions and that was all you knew about programming ... there were of course a zillion different ways of doing it [programming] and people would do it in a zillion different ways." Backus joined Harlan Herrick, also of IBM, in the creation of a program called Speedcoding, which aided in the calculation of numbers by expressing values in "floating point notation."
Backus's next big IBM project would lead to the creation of FORTRAN (from Formula Translation). In 1953 Backus wrote a memo to management making the case for the creation of what came to be called a "high-level" programming language, to be used for the IBM-704 computer. His motivation for designing a better way of directing a computer's operations were summed up as follows: "Everybody was seeing how expensive programming was. It cost millions to rent [computer] machines and yet the cost of programming was as big or bigger. Programming was expensive because you had to hire many programmers to write in 'assembly' or second generation languages, which were only one step removed from the binary or machine code of 0s and 1s. Assembly language was time-consuming; it was an arduous task to write commands that were specific to a particular machine and then to have to debug the multitude of errors that resulted. As a consequence, the ultimate goal of the program was often lost in the shuffle."
After encountering initial resistance, Backus's proposed project was approved. Backus set about assembling a team of programmers and mathematicians, and by late 1954 they were at work on the new IBM-704 programming language. Probably the two most difficult components in designing FORTRAN was the compiler, which would translate the higher-level program into machine code, and finding the best way to incorporate the new and important feature of the "DO loop."
Backus and his teammates realized that programmers would shy away from using FORTRAN unless it resulted in a program at least as efficient as they could have written themselves "by hand" in machine code, without FORTRAN. Therefore, about half the team's efforts were aimed at making FORTRAN as efficient as possible after compilation into machine code. And their efforts paid off, because FORTRAN quickly became, after its introduction to users of the IBM-704 in 1957, the principle high-level programming language for scientific and technical computations. More than forty years after its introduction, FORTRAN, in the form of its modern descendants FORTRAN77 and FORTRAN90, remains the number one language worldwide in the scientific/technical fields, and it has inspired and spawned hundreds of other high-level languages. Looking back at the original effort to create FORTRAN, Backus has commented, "I had no idea that it would be used on other machines [other than the IBM-704]. There were hardly any other machines."
In 1958 an international committee met in Zurich, Switzerland, to create an improved programming language based on FORTRAN. The new language that emerged would eventually be known as ALGOL (algorithmic language). Backus approved of the new features found in ALGOL, but he was less impressed by the language designers' abilities to clearly describe those features. Consequently, Backus adapted a classification of languages and their grammars introduced a few years earlier by Noam Chomsky. Context-free languages are described by grammars that have a simple, intuitive form, and Backus and Danish mathematician Peter Naur, who picked up and improved upon Backus's ideas, adapted that form to describe some aspects of the new programming language. Those aspects of the language that could be not described in this form were presented in prose. (This separation into context-free and context-sensitive aspects is still commonly used in most language reference manuals). The resulting notation is called Backus-Naur Form, which is widely used today to precisely describe the context-free aspects of programming languages.
Backus's third major contribution to programming was the development of FP (from Functional Programming). Even though FORTRAN was an enormous success, Backus was nonetheless dissatisfied with some of its aspects. Backus wanted a language that would enable programmers to concentrate more on what the program would accomplish, rather than the low-level details imposed by a relatively low-level programming language such as FORTRAN, with all its "DO loops," subroutines, and global variables. Today, there are a multitude of functional programming languages besides Backus's original FP. (It is worth noting that unlike FORTRAN, FP has not had a noticeable impact on programming practice, but it had a significant influence on language design in the 1980s. Today it is mostly a historical footnote, and functional languages have taken a very different form. In fact, functional programming really starts with LISP. FP was deeply influenced by APL as well, which is also a much earlier language.)
In 1976 John Backus received the National Medal of Science award, and in 1993 he received the Draper Prize for engineering for FORTRAN's creation. Throughout his career as a computer pioneer and researcher, John Backus remained humble regarding his numerous accomplishments. He preferred to shine the spotlight on his collaborators: "It seems very unfair to me that I get so much credit for these guys [his FORTRAN teammates] who invented a tremendous amount of stuff...." Mr. Backus retired in 1991.
|
This section contains 1,343 words (approx. 5 pages at 300 words per page) |



