2012 is the 50th anniversary of Ken Iverson’s A Programming Language, which described the notation that became APL (even though a machine executable version of APL didn’t exist yet). Since then there’s been APL2, Nial, A+, K, Q, and other array-oriented languages. Iverson (1920-2004) teamed with Roger Hui to create a modern successor to APL, tersely named J, in the late 1980s.
The culture of array languages is a curious one. Though largely functional, array languages represent a separate evolutionary timeline from the lambda calculus languages like Miranda and Haskell. (Trivia: The world monad is an important term in both Haskell and J, but has completely different meanings.) Most strikingly, while Haskell was more of a testbed for functional language theorists that eventually became viable for commercial products, array languages found favor as serious development tools early on. Even today, K is used to analyze large data sets, such as from the stock market. J is used in actuarial work.
Notation as a Tool of Thought, Ken Iverson’s 1979 Turing Award Lecture, is the most widely read paper on APL. Donald McIntyre (1923-2009) explored similar ideas in Language as an Intellectual Tool: From Hieroglyphics to APL. When I first learned of McIntyre’s paper roughly ten years ago, it wasn’t available on the web. I inquired about it via email, and he said he’d see if he or one of his acquaintances had a copy they could send to me. A week later I received an envelope from Ken Iverson (!) containing non-photocopied reprints of Hieroglyphics and his own A Personal View of APL. I still have both papers in the original envelope.
Donald McIntyre also wrote The Role of Composition in Computer Programming, which is mind-melting. (Note that it uses an earlier version of J, so you can’t always just cut and paste into the J interpreter.)
There’s a touch of melancholy to this huge body—fifty years’ worth—of ideas and thought. Fifty years of a culture surrounding a paradigm that’s seen as an oddity in the history of computing. Even if you found the other papers I’ve mentioned to be so many unintelligible squiggles, read Keith Smillie’s My Life with Array Languages. It covers a thirty-seven year span of programming in APL, Nial, and J that started in 1968.
(If you liked this, you might enjoy Want to Write a Compiler? Just Read These Two Papers.)
Categories: Blogs Programming in the 21st Century
Erlang on Twitter
» developerevents (USA Developer Events): Intro to Erlang for C# Developers - 20 May - 170 Graphics Drive, USA http://t.co/LCJ6ritUv8 #csharp #event
Intro to Erlang for C# Developers - 20 May - 170 Graphics Drive, USA http://t.co/LCJ6ritUv8 #csharp #event
Number of aggregated posts: 10648
Most recent article: May 14, 2013
» Moraru on This is Why You Spent All that Time Learning to Program: It is true that computer science was a pain in the back at time that i’ve had to learn it…
» Commercial hand dryers on Couchbase Meetup at new HQ: Buy online from here where you will get so much of variety in Commercial hand dryers for people. If you…
» Fort McMurray Homes on Motivated Reasoning and Erlang vs Python vs Node: I don’t really understand why this post is motivational? I don’t even see a post, just a title. Fort McMurray…