# John Backus

John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist and winner of the 1977 Turing Award. He led the team that invented FORTRAN, the first widely used high-level programming language, and was the inventor of Backus-Naur form (BNF), the almost universally used notation to define formal language syntax. He also helped to popularize function-level programming.

## Quotes

* For twenty years programming languages have been steadily progressing toward their present condition of obesity; as a result, the study and invention of programming languages has lost much of its excitement. Instead, it is now the province of those who prefer to work with thick compendia of details rather than wrestle with new ideas. Discussions about programming languages often resemble medieval debates about the number of angels that can dance on the head of a pin instead of exciting contests between fundamentally differing concepts. Many creative computer scientists have retreated from inventing languages to inventing tools for describing them. Unfortunately, they have been largely content to apply their elegant new tools to studying the warts and moles of existing languages.
** "Can Programming Be Liberated From the von Neumann Style?", 1977 Turing Award Lecture, Communications of the ACM 21 (8), (August 1978): p. 614
* Von Neumann languages do not have useful properties for reasoning about programs. Axiomatic and denotational semantics are precise tools for describing and understanding conventional programs, but they only talk about them and cannot alter their ungainly properties. Unlike von Neumann languages, the language of ordinary algebra is suitable both for stating its laws and for transforming an equation into its solution, all within the "language."
** "Can Programming Be Liberated From the von Neumann Style?", 1977 Turing Award Lecture, Communications of the ACM 21 (8), (August 1978): pp. 639-640
* Much of my work has come from being lazy. I didn't like writing programs, and so, when I was working on the IBM 701 (an early computer), writing programs for computing missile trajectories, I started work on a programming system to make it easier to write programs.
** Quoted in the IBM employee magazine Think in 1979. Cited by his Associated Press obituary
* Well, that's a subject interested me a lot because I've seen so many young people in our culture today, that emphasizes the success all the time and is always pointing to this success of researchers and developing some wonderful new thing. This pressure to succeed I found has caused many young students who I thought would make a very good researcher start doing research and then finding it they failed again and again and again and became discouraged very rapidly because the media makes it, creates the impression they should succeed right away. So they leave research and I think it's a great shame that young people have to understand research is 90% failure. It's very painful to the ego to fail again and again and again. I know I've done an awful a lot of failing in my career and I think that young students should recognize that what's research is about and if they can't stand failing then don't try to do the research. But it can be borne.
** Answering a question Can you comment on failure in research? after lecture Function Level Programming and the FL Language in 1987.
* You need the willingness to fail all the time. You have to generate many ideas and then you have to work very hard only to discover that they don’t work. And you keep doing that over and over until you find one that does work .