John Warner Backus

Born: December 3, 1924, Philadelphia, Pennsylvania (grew up in Wilmington, Delaware) Died: March 17, 2007, Ashland, Oregon (aged 82)

Early Life

Son of a wealthy Delaware stockbroker. Attended the prestigious Hill School in Pottstown, Pennsylvania, but was “not a particularly disciplined student, and his grades were poor.” Graduated in 1942 and enrolled at the University of Virginia to study chemistry, but was expelled during his freshman year for poor attendance.

Drafted into the U.S. Army during World War II. Rose to the rank of Corporal; stationed at an anti-aircraft battery at Fort Stewart, Georgia. Scored well on an aptitude test for medical skills and was sent to Haverford College for pre-medical training. During a hospital posting, he was diagnosed with a cranial bone tumor; surgery successfully removed it, but a metal plate was installed. Backus later designed his own replacement plate, dissatisfied with the original.

Transferred to Flower and Fifth Avenue Medical School in New York but dropped out after nine months. Directionless, he rented an apartment in New York City and enrolled in a radio technician’s school to learn hi-fi construction. This hands-on experience with electronics sparked a latent mathematical aptitude. He enrolled at Columbia University, earning a B.S. in mathematics (1949) and an M.A. in mathematics (1950). Received an honorable medical discharge from the Army in 1946.

IBM Career

Hiring (1950)

In 1950, fresh from Columbia, Backus wandered into IBM’s headquarters on Madison Avenue, where the Selective Sequence Electronic Calculator (SSEC) was on public display. He mentioned his interest in mathematics to a tour guide and was given an impromptu oral exam of math brainteasers. He aced the test and was hired on the spot as a programmer, with no prior idea of what programming was.

Speedcoding (1953)

Initially assigned to the SSEC, Backus programmed lunar position calculations. Frustrated by the tedious, error-prone process of writing machine code, he developed “Speedcoding” in 1953, an early high-level interpreter for the IBM 701 that incorporated a floating-point scaling factor. It was slow but demonstrated the potential of abstraction.

FORTRAN (1954–1957)

His most famous contribution. In 1953, Backus proposed to IBM management a programming language for the new IBM 704 computer that would allow scientists and engineers to write programs in mathematical notation rather than machine code. IBM approved the project, and Backus assembled a small team of programmers and mathematicians. The team published “Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN” in November 1954. The compiler was completed within approximately two years.

FORTRAN was the first widely used high-level programming language. It made computers accessible to scientists who lacked deep knowledge of hardware. Nearly fifty years after its creation, FORTRAN variants remained in widespread use for scientific and engineering computation.

Famous self-assessment: “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, I started work on a programming system to make it easier to write programs.”

Backus-Naur Form (BNF) (1959)

Backus created a formal notation for describing context-free grammars while working on the ALGOL 58 language specification. Published in a UNESCO report, it became the standard method for specifying programming language syntax and remains foundational in compiler design. Peter Naur modified and popularized it; Donald Knuth proposed the name “Backus-Naur Form.”

Later Career and FP

Named an IBM Fellow in 1963, giving him freedom to pursue personal research interests. He retired from IBM in 1991.

Turing Award Lecture (1977)

Backus received the ACM Turing Award in 1977 “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.”

His acceptance lecture, delivered October 17, 1977, at the ACM Annual Conference in Seattle, was titled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs.” In it, Backus attacked his own legacy – the imperative, von Neumann-style programming paradigm that FORTRAN exemplified – and proposed a radically different function-level programming approach.

The lecture introduced the FP language, a pure function-level language inspired by Kenneth Iverson’s APL. Backus argued that conventional programming languages were shackled to the “von Neumann bottleneck” – the single tube connecting CPU and memory through which data must flow word by word.

He later developed FL (Function Level) as a successor to FP, though it remained an internal IBM research project with limited documentation. Backus acknowledged his Turing lecture was “mostly misunderstood” – it sparked enormous interest in functional programming generally (influencing Haskell, ML, and others) but less interest in his specific function-level paradigm.

Personality and Anecdotes

  • Rebellious and unfocused in youth; expelled from or dropped out of multiple schools before finding his calling through a chance encounter with IBM.
  • The IBM hiring story – walking in off the street, acing a math quiz, and being hired on the spot – is one of computing’s great origin tales.
  • Self-deprecating about his motivations: attributed his greatest achievements to laziness.
  • Unusual for a computing pioneer in that he turned against his own most successful creation, publicly arguing that the programming paradigm FORTRAN represented was fundamentally flawed.

Awards and Honors

  • IBM Fellow (1963)
  • W. W. McDowell Award (1967)
  • National Medal of Science (1975)
  • ACM Turing Award (1977)
  • Fellow, American Academy of Arts and Sciences (1985)
  • Honorary doctorate, Universite Henri-Poincare (1989)
  • Charles Stark Draper Prize (1993)
  • Computer History Museum Fellow (1997)
  • Asteroid 6830 Johnbackus named in his honor (June 1, 2007 – posthumously)

Connections to Others

  • John von Neumann: Backus’s Turing lecture explicitly criticized the “von Neumann style” of computing
  • Peter Naur: Co-developer of BNF notation; Naur modified Backus’s original notation for ALGOL 60
  • Kenneth Iverson: APL creator whose work inspired Backus’s FP language
  • Edsger Dijkstra: Reviewed Backus’s Turing Award lecture critically (EWD 692)

Sources