From Harvard Rejection to Turing Award: The Story of APL, the Language That Tormented Programmers
Kenneth Iverson, dismissed from Harvard after five years as a teaching assistant, created the APL language—initially a teaching notation—that earned him the Turing Award, sparked polarized opinions for its cryptic symbols, powered IBM’s System/360, inspired the J language, and remains influential in data‑centric computing today.
A Straightforward Name, a Not‑So‑Simple Language
"A Programming Language" shortens to APL. The name sounds humorous, yet the language has left a profound mark on computer‑science history.
Critics call it the ugliest language because its code is filled with exotic symbols that require a special keyboard. For example, Conway's Game of Life can be expressed in a single, intimidating APL line.
Supporters view APL as one of the most influential languages. It is fundamentally functional, forces programmers to think in parallel, and operates on arrays of any shape, offering a rich set of operators such as selection, split, join, reshape, and more. It is said that someone once wrote a complete SQL interpreter in APL within a few days—something no other language could match.
Born for Mathematics, Designed for Arrays
Iverson created APL not to write computer programs but to express mathematical ideas and algorithms more elegantly. This led to a unique symbol set—Greek letters, arrows, circles—that cannot be found on a standard keyboard but form the core of APL's expressive power.
Examples: A ← 1 2 3 4 Assign an array.
A ← 1 2 3 4
B ← 5 6 7 8
A + B ⍝ yields 6 8 10 12Generate a sequence 1‑5: n ← ⍳ 5 ⍝ n is [1 2 3 4 5] Square each element (APL uses * for power, not multiplication): n * 2 ⍝ results [1 4 9 16 25] Sum the array: + / n ⍝ 1+2+3+4+5 = 15 Average:
(+ / n) ÷ ⍴ n ⍝ ⍴ returns the number of elementsGenerate six random numbers between 1 and 999 and sort them: x [ ⍋ x ← 6 ? 40 ] Matrix multiplication example (2×2 matrices):
A ← 2 2 ⍴ 1 2 3 4
B ← 2 2 ⍴ 5 6 7 8
C ← A +.× B ⍝ +.× is the built‑in matrix‑multiply operatorFrom Harvard to IBM Glory
After leaving Harvard, Iverson joined IBM Research, where his salary doubled. IBM architect Fred Brooks advised him to "keep doing what you truly want; management will back new ideas as long as they’re not too outlandish."
Iverson refined his Harvard symbol system into a full programming language. In 1964 IBM launched the System/360 mainframe, and APL was implemented on it.
At a time when batch processing dominated, APL offered an interactive environment: programmers typed statements and received immediate results, could define, debug, run, and save programs on a shared computer, liberating them from punched‑card delays.
IBM built a suite of APL‑based products, including:
Starmap – functions for plotting stars and planets
IBGS – an interactive business simulation game
Graphpak – an interactive graphics package
MINIPERT – a CPM‑based project‑management system
APL financial‑planning and econometric languages
Mastering APL dramatically increased programming speed, making it valuable for modeling and rapid prototyping.
In 1973 Continental Can needed an inventory system for 21 factories. After a year of failed FORTRAN attempts, an APL Plus prototype was delivered in just one week.
From Peak to Niche
After two decades at IBM, Iverson left for IP Sharp Associates in Canada, focusing on APL consulting.
In 1990, together with Roger Hui, he co‑invented the J language, which kept APL’s core ideas but used only standard ASCII characters, eliminating the need for a special keyboard.
With the rise of personal computers, languages like BASIC, Pascal, and C became mainstream. APL receded to niche use in scientific computing, statistics, actuarial work, and financial analysis, where its concise array notation remains prized by domain experts.
Does APL Still Matter Today?
First Turing‑Award winner Alan J. Perlis said, "If a language cannot change the way you think about programming, it isn’t worth learning." APL forces a new perspective: think in arrays rather than loops.
For those curious about this historic yet powerful language, an online interpreter (https://tryapl.org/) lets you experiment with its distinctive symbols, proving that the odd characters invented fifty years ago are still razor‑sharp.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java Tech Enthusiast
Sharing computer programming language knowledge, focusing on Java fundamentals, data structures, related tools, Spring Cloud, IntelliJ IDEA... Book giveaways, red‑packet rewards and other perks await!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
