APL
/ay-pee-ell/ · noun · Development · Origin: 1966
Definitions
A Programming Language, a mathematically-oriented language that uses a special set of symbolic operators to manipulate arrays with extraordinary conciseness. APL programs are famously dense — a single line can replace pages of code in other languages — and its unique character set requires a special keyboard layout. It influenced J, K, and modern array languages.
In plain English: A mathematical programming language that uses special symbols instead of words, famous for solving complex problems in a single cryptic line of code.
Example: The entire Conway's Game of Life fits in one line of APL: life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
Origin Story
A Programming Language so mathematical it needed a custom keyboard
Kenneth Iverson developed APL's notation in the early 1960s at Harvard, publishing it in his 1962 book literally titled *A Programming Language*. The acronym **APL** came from the book's title. IBM implemented it in 1966.
APL uses special mathematical symbols -- Greek letters, arrows, and unique glyphs like ⍳, ⌈, ⍴, and ⊖ -- requiring a special keyboard. A single line of APL can replace pages of Fortran. The expression `(+/⍵)÷⍴⍵` computes an average of a list.
APL programmers were legendary for writing one-liners that were incomprehensible to everyone including themselves a week later. Despite this, APL was enormously influential -- it inspired J, K, and Q (used extensively on Wall Street), and its array-oriented thinking influenced NumPy and MATLAB.
Coined by: Kenneth Iverson
Context: Harvard and IBM, 1962-1966
Fun fact: Iverson won the Turing Award in 1979 for APL. The famous 'APL one-liner for Game of Life' is a complete cellular automaton simulation in a single expression. IBM produced special Selectric typewriter balls with APL characters.