John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist. He directed the team that invented and implemented FORTRAN, the first widely used high-level programming language, and was the inventor of the Backus–Naur form (BNF), a widely used notation to define formal language syntax. He later did research into the function-level programming paradigm, presenting his findings in his influential 1977 Turing Award lecture "Can Programming Be Liberated from the von Neumann Style?"
Backus in December 1989
John Warner Backus
December 3, 1924
|Died||March 17, 2007 (aged 82)|
|Alma mater||University of Virginia|
Columbia University (B.S. 1949, M.S. 1950)
|Awards||National Medal of Science (1975)|
ACM Turing Award (1977)
Charles Stark Draper Prize (1993)
The IEEE awarded Backus the W. W. McDowell Award in 1967 for the development of FORTRAN. He received the National Medal of Science in 1975 and the 1977 ACM Turing Award "for profound, influential, and lasting contributions to the design of practical high-level programming systems, notably through his work on FORTRAN, and for publication of formal procedures for the specification of programming languages".
Backus was born in Philadelphia and grew up in nearby Wilmington, Delaware. He studied at The Hill School in Pottstown, Pennsylvania, and was apparently not a diligent student. After entering the University of Virginia to study chemistry, he quit and was conscripted into the U.S. Army. He began medical training at Haverford College and, during an internship at a hospital, he was diagnosed with a cranial bone tumor, which was successfully removed; a plate was installed in his head, and he ended medical training after nine months and a subsequent operation to replace the plate with one of his own design.
This section needs expansion. You can help by adding to it. (January 2017)
After moving to New York City he trained initially as a radio technician and became interested in mathematics. He graduated from Columbia University with a bachelor's degree in 1949 and a master's degree in 1950, both in mathematics, and joined IBM in 1950. During his first three years, he worked on the Selective Sequence Electronic Calculator (SSEC); his first major project was to write a program to calculate positions of the Moon. In 1953 Backus developed the language Speedcoding, the first high-level language created for an IBM computer, to aid in software development for the IBM 701 computer.
Programming was very difficult at this time, and in 1954 Backus assembled a team to define and develop Fortran for the IBM 704 computer. Fortran was the first high-level programming language to be put to broad use.
Backus served on the international committees that developed ALGOL 58 and the very influential ALGOL 60, which quickly became the de facto worldwide standard for publishing algorithms. Backus developed the Backus–Naur form (BNF), in the UNESCO report on ALGOL 58. It was a formal notation able to describe any context-free programming language, and was important in the development of compilers. A few deviations from this approach were tried—notably in Lisp and APL—but by the 1970s, following the development of automated compiler generators such as yacc, Backus–Naur context-free specifications for computer languages had become quite standard. This contribution helped Backus win the Turing Award in 1977.
Backus later worked on a function-level programming language known as FP, which was described in his Turing Award lecture "Can Programming be Liberated from the von Neumann Style?". Sometimes viewed as Backus's apology for creating Fortran, this paper did less to garner interest in the FP language than to spark research into functional programming in general. When Backus publicized the function-level style of programming, his message was mostly misunderstood as being the same as traditional functional programming style languages.
FP was strongly inspired by Kenneth E. Iverson's APL, even using a non-standard character set. An FP interpreter was distributed with the 4.2BSD Unix operating system, but there were relatively few implementations of the language, most of which were used for educational purposes.
Backus spent the latter part of his career developing FL (from "Function Level"), a successor to FP. FL was an internal IBM research project, and development of the language stopped when the project was finished. Only a few papers documenting it remain, and the source code of the compiler described in them was not made public. FL was at odds with functional programming languages being developed in the 1980s, most of which were based on the lambda calculus and static typing systems instead of, as in APL, the concatenation of primitive operations. Many of the language's ideas have now been implemented in versions of the J programming language, Iverson's successor to APL.
Awards and honorsEdit
- Named an IBM Fellow (1963)
- Awarded W.W. McDowell Award (1967)
- Received National Medal of Science (1975)
- Awarded ACM Turing Award (1977)
- Fellow of the American Academy of Arts and Sciences (1985)
- Doctor honoris causa Université Henri-Poincaré (1989)
- Awarded Draper Prize (1993)
- Awarded Computer History Museum Fellow Award "for his development of FORTRAN, contributions to computer systems theory and software project management." (1997)
- Asteroid 6830 Johnbackus named in his honor (June 1, 2007) †
- "W. Wallace McDowell Award". Archived from the original on September 29, 2007. Retrieved April 15, 2008.
- "The President's National Medal of Science: John Backus". National Science Foundation. Archived from the original on September 29, 2007. Retrieved March 21, 2007.
- "ACM Turing Award Citation: John Backus". Association for Computing Machinery. Archived from the original on February 4, 2007. Retrieved March 22, 2007.
- Lohr, Steve (March 20, 2007). "John W. Backus, 82, Fortran Developer, Dies". New York Times. Retrieved March 21, 2007.
- "John Backus". The History of Computing Project. Archived from the original on April 27, 2016. Retrieved April 28, 2016.
- "Inventor of the Week Archive John Backus". February 2006. Archived from the original on October 26, 2011. Retrieved August 25, 2011.
- Grady Booch (interviewer) (September 25, 2006). "Oral History of John Backus" (PDF). Archived (PDF) from the original on August 26, 2011. Retrieved August 17, 2009.
- "John Backus - A.M. Turing Award Laureate". amturing.acm.org. Archived from the original on January 19, 2018. Retrieved May 4, 2018.
- Allen, F.E. (September 1981). "The History of Language Processor Technology in IBM". IBM Journal of Research and Development. 25 (5): 535–548. doi:10.1147/rd.255.0535. Archived from the original on May 23, 2014.
- Hudak, Paul (1989). "Conception, Evolution, And Application Of Functional Programming Languages". ACM Computing Surveys, Vol. 21, No. 3
- "John Backus". IBM Archives. Archived from the original on August 26, 2011. Retrieved March 21, 2007.
- "Book of Members, 1780–2010: Chapter B" (PDF). American Academy of Arts and Sciences. Archived (PDF) from the original on July 25, 2011. Retrieved April 28, 2011.
- "John Backus". Archived from the original on May 14, 2008. Retrieved April 15, 2008.
- "Recipients of the Charles Stark Draper Prize". Archived from the original on March 2, 2010. Retrieved March 26, 2007.
- "Fellow Awards 1997 Recipient John Backus". Archived from the original on July 9, 2010. Retrieved April 15, 2008.
|Wikiquote has quotations related to: John Backus|
- Biography at School of Mathematics and Statistics University of St Andrews, Scotland
- Biography at The History of Computing Project
- Can Programming Be Liberated From the von Neumann Style? 1977 Turing Award Lecture
- The FL project (Postscript file)
- "Obituary for John W. Backus". New York Times. March 20, 2007.
- IBM Archives
- About BNF
- Hall of Fellows Computer History Museum
- Campbell-Kelly, Martin (April 2007). "Obituary: John Backus (1924–2007):Inventor of science's most widespread programming language, Fortran". Nature. 446 (7139): 998. doi:10.1038/446998a.
- Memorial delivered at the 2007 Conference on Programming Language Design and Implementation