John Warner Backus was born on December 3, 1924, and died on March 17, 2007. He was an American computer scientist who led the team that created FORTRAN, the first widely used high-level programming language. He also invented the Backus–Naur form (BNF), a method used to describe the structure of programming languages. Backus helped design ALGOL and later studied function-level programming, sharing his research in his 1977 Turing Award lecture titled "Can Programming Be Liberated from the von Neumann Style?"
In 1967, the IEEE honored Backus with the W. W. McDowell Award for developing FORTRAN. He received the National Medal of Science in 1975 and the 1977 ACM Turing Award for his lasting contributions to creating practical high-level programming systems, especially through his work on FORTRAN, and for writing formal rules to define programming languages.
Backus retired in 1991. He passed away at his home in Ashland, Oregon, on March 17, 2007.
Early life
Backus was born in Philadelphia and grew up in nearby Wilmington, Delaware. He studied at The Hill School in Pottstown, Pennsylvania, but he was not a good student. He entered college at the University of Virginia to study chemistry but had difficulty with his classes. He was expelled after less than a year because he missed too many classes. He was then drafted into the U.S. Army during World War II and eventually became a corporal. He was placed in charge of an anti-aircraft battery stationed at Fort Stewart, Georgia.
After scoring high on a military test, the Army sent him to study engineering at the University of Pittsburgh. Later, he transferred to a pre-medical program at Haverford College. During an internship at a hospital, he was diagnosed with a tumor in his skull. The tumor was successfully removed, and a metal plate was placed in his head. He then attended the Flower and Fifth Avenue Medical School but found it uninteresting and left after nine months. He later had another surgery to replace the metal plate with one he designed. In 1946, he received an honorable medical discharge from the U.S. Army.
Fortran
After moving to New York City, he began his career as a radio technician and became interested in mathematics. He received his bachelor's degree in mathematics from Columbia University in 1949 and his master's degree in mathematics in 1950. He joined IBM in 1950. During his first three years at IBM, he worked on the Selective Sequence Electronic Calculator (SSEC). His first major project involved writing a program to calculate the Moon's position. In 1953, Backus created the Speedcoding language, which was the first high-level language developed for an IBM computer. This language helped improve software development for the IBM 701 computer.
At the time, programming was very challenging. In 1954, Backus gathered a team to design and develop Fortran for the IBM 704 computer. Fortran was the first widely used high-level programming language. It made computers easier for scientists and others to use, without requiring them to understand the complex details of computer hardware.
Backus–Naur form
John Backus worked on international groups that created ALGOL 58 and ALGOL 60, which became the standard way to write and share algorithms worldwide. He also created the Backus–Naur form (BNF), a method described in a UNESCO report about ALGOL 58. BNF was a clear way to define programming languages that follow specific rules, and it helped in making compilers, which translate code into computer instructions. Some programming languages, like Lisp and APL, used different methods, but by the 1970s, BNF became widely used for describing computer languages, especially after tools like yacc were developed to help create compilers automatically. This work contributed to Backus receiving the ACM Turing Award in 1977.
Function-level programming
John Backus later worked on a programming language called FP, which he discussed in his Turing Award lecture titled "Can Programming be Liberated from the von Neumann Style?" This lecture was sometimes seen as an explanation for creating Fortran, but it mainly encouraged research into functional programming rather than promoting FP itself. Many people misunderstood Backus's message about FP, thinking it was similar to traditional functional programming languages.
FP was greatly influenced by Kenneth E. Iverson’s APL, even using special characters not found on regular keyboards. An FP interpreter came with the 4.2BSD Unix operating system, but the language had few implementations, most of which were used for teaching purposes.
Later in his career, Backus developed FL, a later version of FP. FL was an IBM research project, and work on the language ended after the project was completed. Only a few papers about FL remain, and the compiler’s source code was never made public. FL was different from functional programming languages developed in the 1980s, which used a mathematical system called lambda calculus and systems that required variables to have specific types. Instead, FL, like APL, focused on combining basic operations. Many of FL’s ideas are now found in the J programming language, which is a later version of APL.
Awards and honors
- Received the title of IBM Fellow in 1963
- Won the W. W. McDowell Award in 1967
- Received the National Medal of Science in 1975
- Awarded the Turing Award in 1977
- Became a Fellow of the American Academy of Arts and Sciences in 1985
- Received an honorary Doctorate from Université Henri-Poincaré in 1989
- Won the Draper Prize in 1993
- Honored as a Fellow by the Computer History Museum in 1997 for creating FORTRAN, work in computer systems theory, and managing software projects
- An asteroid named 6830 Johnbackus was named after him on June 1, 2007