John Backus: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Rycw
m Undid offensive revision 1289000583 by 45.167.53.178 (talk)
 
imported>0xReflektor
 
Line 1: Line 1:
{{Short description|American computer scientist}}
{{Short description|American computer scientist}}
{{about|the computer scientist|the physicist|John Backus (acoustician)|the minister|John Chester Backus}}
{{about|the computer scientist|the physicist|John Backus (acoustician)|the minister|John Chester Backus}}{{More citations needed|date=September 2025}}
{{Use mdy dates|date=April 2012}}
{{Use mdy dates|date=April 2012}}
{{Infobox scientist
{{Infobox scientist
Line 33: Line 33:
}}
}}


'''John Warner Backus ''' (December 3, 1924 – March 17, 2007) was an American [[computer scientist]]. He led the team that invented and implemented [[Fortran|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 [[syntax]]es of [[formal language]]s. 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?"<ref name="can">{{cite journal|title=Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs|first=John|last=Backus|journal=Communications of the ACM|volume=21|issue=8|date=August 1978|doi=10.1145/359576.359579|s2cid=16367522|doi-access=free}}</ref>
'''John Warner Backus ''' (December 3, 1924 – March 17, 2007) was an American [[computer scientist]]. He led the team that invented and implemented [[Fortran|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 [[syntax]]es of [[formal language]]s. He also contributed to the design of [[ALGOL]], and later researched the [[function-level programming]] paradigm, presenting his findings in his influential 1977 Turing Award lecture "Can Programming Be Liberated from the von Neumann Style?"<ref name="can">{{cite journal|title=Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs|first=John|last=Backus|journal=Communications of the ACM|volume=21|issue=8|date=August 1978|doi=10.1145/359576.359579|s2cid=16367522|doi-access=free}}</ref>


The [[Institute of Electrical and Electronics Engineers|IEEE]] awarded Backus the [[W. Wallace McDowell Award|W. W. McDowell Award]] in 1967 for the development of FORTRAN.<ref name="McDowell">{{cite web| title=W. Wallace McDowell Award| url=http://www.computer.org/portal/site/ieeecs/menuitem.c5efb9b8ade9096b8a9ca0108bcd45f3/index.jsp?&pName=ieeecs_level1&path=ieeecs/about/awards&file=WallaceMcD_recipients.xml&xsl=generic.xsl&| access-date=April 15, 2008| url-status=dead| archive-url=https://web.archive.org/web/20070929133553/http://www.computer.org/portal/site/ieeecs/menuitem.c5efb9b8ade9096b8a9ca0108bcd45f3/index.jsp?&pName=ieeecs_level1&path=ieeecs%2Fabout%2Fawards&file=WallaceMcD_recipients.xml&xsl=generic.xsl&| archive-date=September 29, 2007| df=mdy-all}}</ref> He received the [[National Medal of Science]] in 1975<ref name="National Science Foundation">{{cite web | title = The President's National Medal of Science: John Backus | publisher = National Science Foundation | url = https://www.nsf.gov/od/nms/recip_details.cfm?recip_id=25 | access-date = March 21, 2007 | url-status = live | archive-url = https://web.archive.org/web/20070929111636/http://www.nsf.gov/od/nms/recip_details.cfm?recip_id=25 | archive-date = September 29, 2007 | df = mdy-all }}</ref> and the 1977 [[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".<ref name="ACM">{{cite web | title = ACM Turing Award Citation: John Backus | publisher = [[Association for Computing Machinery]] | url = http://www.acm.org/awards/turing_citations/backus.html | access-date =March 22, 2007 |archive-url = https://web.archive.org/web/20070204114319/http://www.acm.org/awards/turing_citations/backus.html <!-- Bot retrieved archive --> |archive-date = February 4, 2007}}</ref>
The [[Institute of Electrical and Electronics Engineers|IEEE]] awarded Backus the [[W. Wallace McDowell Award|W. W. McDowell Award]] in 1967 for the development of FORTRAN.<ref name="McDowell">{{cite web| title=W. Wallace McDowell Award| url=http://www.computer.org/portal/site/ieeecs/menuitem.c5efb9b8ade9096b8a9ca0108bcd45f3/index.jsp?&pName=ieeecs_level1&path=ieeecs/about/awards&file=WallaceMcD_recipients.xml&xsl=generic.xsl&| access-date=April 15, 2008| url-status=dead| archive-url=https://web.archive.org/web/20070929133553/http://www.computer.org/portal/site/ieeecs/menuitem.c5efb9b8ade9096b8a9ca0108bcd45f3/index.jsp?&pName=ieeecs_level1&path=ieeecs%2Fabout%2Fawards&file=WallaceMcD_recipients.xml&xsl=generic.xsl&| archive-date=September 29, 2007| df=mdy-all}}</ref> He received the [[National Medal of Science]] in 1975<ref name="National Science Foundation">{{cite web | title = The President's National Medal of Science: John Backus | publisher = National Science Foundation | url = https://www.nsf.gov/od/nms/recip_details.cfm?recip_id=25 | access-date = March 21, 2007 | url-status = live | archive-url = https://web.archive.org/web/20070929111636/http://www.nsf.gov/od/nms/recip_details.cfm?recip_id=25 | archive-date = September 29, 2007 | df = mdy-all }}</ref> and the 1977 [[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".<ref name="ACM">{{cite web | title = John Backus - A.M. Turing Award Laureate | publisher = [[Association for Computing Machinery]] | url = https://amturing.acm.org/award_winners/backus_0703524.cfm | access-date =November 3, 2025}}</ref>


John Backus retired in 1991. He died at his home in [[Ashland, Oregon]] on March 17, 2007.<ref name="nytobit"/>
John Backus retired in 1991. He died at his home in [[Ashland, Oregon]] on March 17, 2007.<ref name="nytobit"/>
Line 46: Line 46:


==Fortran==
==Fortran==
{{expand section|date=January 2017}}
{{main|Fortran}}
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,<ref name="amturing.acm.org"/><ref>{{Cite web|title=John Backus|url=http://www.columbia.edu/cu/computinghistory/backus.html|access-date=2021-10-02|website=www.columbia.edu}}</ref> and joined [[IBM]] in 1950. During his first three years, he worked on the [[IBM SSEC|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.<ref>{{cite journal|last=Allen|first=F.E.|title=The History of Language Processor Technology in IBM|journal=IBM Journal of Research and Development|volume=25|issue=5|date=September 1981|pages=535–548|doi=10.1147/rd.255.0535|df=mdy-all}}</ref>
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,<ref name="amturing.acm.org"/><ref>{{Cite web|title=John Backus|url=http://www.columbia.edu/cu/computinghistory/backus.html|access-date=2021-10-02|website=www.columbia.edu}}</ref> and joined [[IBM]] in 1950. During his first three years, he worked on the [[IBM SSEC|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.<ref>{{cite journal|last=Allen|first=F.E.|title=The History of Language Processor Technology in IBM|journal=IBM Journal of Research and Development|volume=25|issue=5|date=September 1981|pages=535–548|doi=10.1147/rd.255.0535|df=mdy-all}}</ref>


Line 52: Line 52:


==Backus–Naur form==
==Backus–Naur form==
{{main|Backus–Naur form}}
{{main|Backus–Naur form}}{{Unreferenced section|date=September 2025}}
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 [[algorithm]]s. Backus developed the [[Backus–Naur form]] (BNF), published in the [[UNESCO]] report on ALGOL 58. It was a formal notation able to describe any [[context-free language|context-free]] programming language, and was important in the [[History of compiler construction|development of compilers]]. A few deviations from this approach were tried (notably in [[Lisp (programming language)|Lisp]] and [[APL (programming language)|APL]]), but by the 1970s, Backus–Naur context-free specifications for computer languages had become quite standard, following the development of automated compiler generators such as [[yacc]].
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 [[algorithm]]s. Backus developed the [[Backus–Naur form]] (BNF), published in the [[UNESCO]] report on ALGOL 58. It was a formal notation able to describe any [[context-free language|context-free]] programming language, and was important in the [[History of compiler construction|development of compilers]]. A few deviations from this approach were tried (notably in [[Lisp (programming language)|Lisp]] and [[APL (programming language)|APL]]), but by the 1970s, Backus–Naur context-free specifications for computer languages had become quite standard, following the development of automated compiler generators such as [[yacc]].



Latest revision as of 11:18, 11 November 2025

Template:Short description Script error: No such module "about".Template:More citations needed Template:Use mdy dates Script error: No such module "Template wrapper".Template:Main otherScript error: No such module "Check for clobbered parameters".

John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist. He led 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 syntaxes of formal languages. He also contributed to the design of ALGOL, and later researched the function-level programming paradigm, presenting his findings in his influential 1977 Turing Award lecture "Can Programming Be Liberated from the von Neumann Style?"[1]

The IEEE awarded Backus the W. W. McDowell Award in 1967 for the development of FORTRAN.[2] He received the National Medal of Science in 1975[3] and the 1977 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".[4]

John Backus retired in 1991. He died at his home in Ashland, Oregon on March 17, 2007.[5]

Early life

Backus was born in Philadelphia and grew up in nearby Wilmington, Delaware.[6] He studied at The Hill School in Pottstown, Pennsylvania, but he was apparently not a diligent student.[5] He entered college at the University of Virginia to study chemistry, but struggled with his classes there, and he was expelled after less than a year for poor attendance.[7] He was subsequently conscripted into the U.S. Army during World War II,[5] and eventually came to hold the rank of corporal, being put in command of an anti-aircraft battery stationed at Fort Stewart, Georgia.[7]

After receiving high scores on a military aptitude test, the Army sent him to study engineering at the University of Pittsburgh.[7] He later transferred to a pre-medical program at Haverford College.[8] During an internship at a hospital, he was diagnosed with a cranial bone tumor, which was successfully removed, and a plate was installed in his head. He then moved to the Flower and Fifth Avenue Medical School for medical school, but found it uninteresting and dropped out after nine months.[7] He soon underwent a second operation to replace the metal plate in his head with one of his own design,[9] and received an honorable medical discharge from the U.S. Army in 1946.[7]

Fortran

Script error: No such module "Labelled list hatnote". 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,[7][10] 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.[11]

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. This widely used language made computers practical and accessible machines for scientists and others without requiring them to have deep knowledge of the machinery.[12]

Backus–Naur form

Script error: No such module "Labelled list hatnote".Script error: No such module "Unsubst". 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), published 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, Backus–Naur context-free specifications for computer languages had become quite standard, following the development of automated compiler generators such as yacc.

This contribution helped Backus win the Turing Award in 1977.

Function-level programming

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?".[1] 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[13] 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 honors

See also

References

Template:Reflist

External links

Template:Sister project

Template:Turing award Template:Winners of the National Medal of Science Template:Authority control

  1. a b Script error: No such module "Citation/CS1".
  2. a b Script error: No such module "citation/CS1".
  3. a b Script error: No such module "citation/CS1".
  4. a b Script error: No such module "citation/CS1".
  5. a b c Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. a b c d e f Script error: No such module "citation/CS1".
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "Citation/CS1".
  12. Script error: No such module "citation/CS1".
  13. Hudak, Paul (1989). "Conception, Evolution, And Application Of Functional Programming Languages". ACM Computing Surveys, Vol. 21, No. 3
  14. Script error: No such module "citation/CS1".
  15. Script error: No such module "citation/CS1".
  16. Script error: No such module "citation/CS1".
  17. Script error: No such module "citation/CS1".
  18. Script error: No such module "citation/CS1".