Fundamentals 10 min read

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.

Java Tech Enthusiast
Java Tech Enthusiast
Java Tech Enthusiast
From Harvard Rejection to Turing Award: The Story of APL, the Language That Tormented Programmers

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 12

Generate 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 elements

Generate 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 operator

From 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.

Kenneth Iverson portrait
Kenneth Iverson portrait
APL name image
APL name image
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Turing AwardAPLArray ProgrammingIBM System/360J languageKenneth Iverson
Java Tech Enthusiast
Written by

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!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.