Ken Iverson
What they built
Invented APL — "A Programming Language" — starting at Harvard in the late 1950s, first as a mathematical notation in his 1962 book of the same name, then implemented at IBM Research. Won the 1979 ACM Turing Award. Retired from paid work in 1987 and from 1990 onward designed J with Roger Hui — a successor using pure ASCII, tacit programming, and function trains, given away free so students could run it on any computer.
In their own words
- From the Turing lecture "Notation as a Tool of Thought" (1979, published CACM Aug 1980): "The importance of nomenclature, notation, and language as tools of thought has long been recognized." He immediately cites Lavoisier and Linnaeus as the template: nomenclature did not merely label their sciences, it channeled later investigation.
- Same lecture, quoting Boole approvingly: "That language is an instrument of human reason, and not merely a medium for the expression of thought, is a truth generally admitted."
- Same lecture: "Mathematical notation provides perhaps the best-known and best-developed example of language used consciously as a tool of thought." The move of the paper is to ask why programming languages so rarely meet that bar.
- Same lecture: "Simplicity of the grammatical rules of a notation is also important." He later lists the properties he cares about: ease of expressing constructs arising in problems, suggestivity, subordination of detail, economy, amenability to formal proofs.
- On APL declarations, reported in the J Software APL Quotations collection, explained in tandem with Adin Falkoff: declarations should be avoided because "by and large they tend to be redundant, and therefore incur many new rules, and thereby make life more complicated."
- On naming — telling a Danish translator how to render "ravel": "You should use the word you use when you have knitted something and you then undo the knitting — when you are removing the structure and are left with the thread." (APLQA, J Software.)
- On learning his own notation, when asked about mnemonic value of his floor/ceiling symbols in 1964: "Yes, but once you have read it, you can remember it." (APLQA.)
Principles as they articulated them
- A notation that channels thought is more valuable than one that merely records it. The test is whether writing something in the notation changes what you then think of next.
- Declarations and redundant type machinery get in the way more than they help.
- Keep the grammatical rules few. If you need many special cases, the notation is wrong.
- Names matter physically. Iverson kept an American Heritage Dictionary by his armchair and read it for pleasure (per Roger Hui). The same care he gave code, he gave English.
- Notation should be cheap, printable, teachable. The move from APL to J (ASCII, free, cross-platform) was explicitly for students.
What surprised me in research
- He kept working on fundamental notation design until the end of his life. J was not a nostalgia project — leading axis theory (rank operator, Whitney 1982) and function trains (Iverson & McDonnell, 1988) were new ideas that J was built around. He was sharpening the tool for another 30 years after the Turing Award.
- The deliberate move from APL's special character set to J's pure ASCII was pedagogically motivated, not technically — he wanted kids to print programs on ordinary printers. A Turing laureate giving up the symbols he was famous for, to reach students, is unusual.
- His philology was not a hobby adjacent to his work; it was the same work. "Ravel" was chosen as a primitive name because the English word already named the operation exactly.
Recent or later work
Retired from IBM 1980, from IPSA 1987, then co-founded Iverson Software with his son Eric; designed J with Roger Hui from 1990. Continued writing pedagogical material on using J to teach mathematics. Died in 2004, reportedly while writing J code. The J project continues today.
Sources
- https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.pdf — "Notation as a Tool of Thought" (Turing lecture PDF) — utoronto.ca
- https://dl.acm.org/doi/10.1145/1283920.1283935 — Notation as a Tool of Thought, ACM — acm.org
- https://www.jsoftware.com/papers/APLQA.htm — "APL Quotations and Anecdotes" — jsoftware.com
- https://aplwiki.com/wiki/Ken_Iverson — Ken Iverson biography — aplwiki.com
- https://aplwiki.com/wiki/J — J language history — aplwiki.com
- https://amturing.acm.org/award_winners/iverson_9147499.cfm — ACM Turing Award citation — acm.org
- https://en.wikipedia.org/wiki/Kenneth_E._Iverson — Wikipedia — wikipedia.org