Kenneth Iverson

Inventor of the APL computer language

Kenneth Eugene Iverson, mathematician and computer scientist: born Camrose, Alberta 17 December 1920; Assistant Professor, Harvard University, 1955-60; scientist, IBM 1960-80; married (four sons); died Toronto, Ontario 19 October 2004.

In the 1950s and 1960s, hundreds of programming "languages" were invented by computer scientists. These languages enabled programmers to solve problems in an easy-to-use, high-level notation instead of the binary codes that computers used directly. Only a score of them achieved a permanent place - Kenneth Iverson's APL was one of them.

Kenneth Eugene Iverson was born on a farm in Alberta, Canada, in 1920. He was educated in a one-room school house and taught himself a great deal of mathematics. During the Second World War, he served in the Canadian Royal Air Force as a flight engineer. At the end of the war, he took an undergraduate degree in mathematics at Queen's University, in Kingston, Ontario.

He then became a graduate student at Harvard University, where he completed a PhD under the supervision of Howard Aiken, a pioneer in the field of automatic computation. In 1955 Iverson was appointed an assistant professor at Harvard, where he developed a notation for teaching applied mathematics to graduate students.

In 1960 he joined IBM's Thomas J. Watson Research Center in New York, where he developed his mathematical notation into a programming language, described in his classic text A Programming Language published in 1962. He never gave the language a name, and so it became known as APL - the initials of the book.

Iverson subsequently led the development of an APL programming system for IBM's System/360 timesharing system - a computer service that enabled programmers to solve problems conveniently, using a directly connected typewriter instead of cumbersome punched cards. The APL/360 service was launched in late 1966.

Mathematicians loved the system and James Martin - the most prominent computer guru of the period - was an early adopter, observing in others an enthusiasm that often "rivalled that of a religious convert". APL was particularly suited to the slow computer communications of the 1960s, and programmers began to vie with one another for writing unimaginably short programs. These were often as short as a single line, and became known as APL "one liners".

In the 1970s, however, APL ran headlong into the new fad of "disciplined" programming, advanced by theoretically-minded computer scientists who argued that programs should only be written in highly structured, but long-winded, programming languages. Edsger Dijkstra, the most prominent advocate of disciplined programming, acidly described APL as "a mistake, carried through to perfection". While APL enthusiasts happily ignored the new mantra, the language was never embraced by the more doctrinaire computer scientists and their disciples.

In 1970 Iverson was made an IBM Fellow, the company's highest honour for staff scientists, and in 1979 he was given the Turing Award of the Association for Computing Machinery, often said to be computing's Nobel Prize.

After retirement from IBM in 1980, Iverson returned to Toronto to work for I.P. Sharp Associates, Canada's leading provider of on-line computing services, where he developed Sharp APL. When he retired in 1987, the glory days of APL were over, but he continued to refine and polish the language, and he collaborated on a successor, "J", which is today used by a small but enthusiastic community.

Martin Campbell-Kelly