December 17, 1920, Camrose, Alberta, Canada
October 19, 2004, Toronto, Ontario, Canada
B.A., mathematics and physics (Queen’s University, Kingston, 1950); M.A., mathematics (Harvard University, 1951); Ph.D., applied mathematics (Harvard University, 1954).
Instructor (applied mathematics), Harvard University (1954 – 1955); Assistant Professor, (applied mathematics), Harvard, University (1955 – 1960); International Business Machines (1960 – 1980); I. P. Sharp Associates (1980 – 1987).
IBM Fellow (1971); Harry Goode Memorial Award (1975); ACM Turing Award (1979); IEEE Computer Society Computer Pioneer Award (1991); National Medal of Technology (1991); Honorary D.Sc., York University (1998)
For his pioneering effort in programming languages and mathematical notation resulting in what the computing field now knows as APL, for his contributions to the implementation of interactive systems, to educational uses of APL, and to programming language theory and practice.
Kenneth Eugene Iverson was born on December 17, 1920 on a farm near Camrose, Alberta, Canada, a small city about 100 km. southeast of the provincial capital of Edmonton. His parents, of Norwegian descent, had come to Alberta from North Dakota when they were children. He was educated in rural one-room schools until the end of 9th grade. He then stayed home to work on the farm because, he said, the only purpose of continuing his schooling would be to become a schoolteacher, and that was a profession he decidedly did not want. During the long winter months he studied calculus on his own. Years later he still recalled the joy of discovering how the “beautiful circular functions were finally united in a single family under the exponential.”
In 1942 Ken was drafted into the army, and the following year he transferred to the Royal Canadian Air Force and served as a flight engineer specializing in reconnaissance. During his military service he took eight correspondence courses offered by the Canadian Legion, nearly enough to complete high school. On his discharge from the services in 1946, with encouragement from both his counselors and fellow servicemen, he began his formal university education at Queen’s University in Kingston, Ontario.
Ken earned a B.A. in mathematics and physics from Queen’s in 1950, and an M.A. in mathematics from Harvard University in 1951. He switched to the Department of Engineering and Applied Physics as a result of taking a course from computer pioneer Professor Howard Aiken. His Ph.D. thesis was supervised by Professor Aiken and the Nobel prize-winning economist Wassily Leontief. Iverson extended Leontief’s input-output model to handle capital goods. While doing the research, he realized the need to experiment with matrix methods using a computer, and he wrote a software package of matrix routines for the Harvard Mark I.
After completing his doctorate, Iverson joined the Harvard faculty to teach in Aiken’s new automatic data processing program, for one year as an Instructor, and for five years as an Assistant Professor. He became increasingly frustrated with the inadequacy of conventional mathematical notation for expressing algorithms. He began to invent his own notation, based on an extension of the higher dimensional arrays of tensor algebra and the concept of operators previously developed by the English physicist Oliver Heaviside (1850-1925).
In 1960 Ken joined the new Research Center of IBM in Yorktown Heights, New York, on the advice of Frederick Brooks, who had been one of his teaching fellows at Harvard and was now at IBM. The two collaborated on the continuing development of the new notation. In 1962 Ken published the now-classic book A Programming Language [1], the title of which gave the name APL to the notation which had up until then been informally called “Iverson’s notation”. In 1963 he and Fred Brooks published Automatic Data Processing [3] based on their lecture notes prepared for Aiken’s course at Harvard.
APL began as a notation for describing algorithms, and only later become a programming language. The first implementation of APL was written in 1965 in Fortran for an IBM 7090 computer, and was used in batch mode. In 1966 an interactive APL/360 system running on an IBM/360 Model 50 provided a regular service to users in the Yorktown Heights research center. APL became publicly available in 1968.
Ken continued to work on the development of APL throughout his tenure at IBM. He became an IBM Fellow in 1970. In 1980 he left IBM, and returned to Canada to work for I.P. Sharp Associates, which had established an APL-based time-sharing service widely used in Canada, the United States and Europe.
In 1987 he “retired from paid employment” and turned his full attention to the development of a more modern dialect of APL. APL was successfully used for commercial purposes, but Iverson wanted to develop a new simple executable notation more suitable for teaching, which would be available at low cost. Programs could be printed on standard printers, without the special characters that APL used. They could run on a wide variety of computing platforms, yet the language would have the simplicity and generality of APL. The first implementation of this language, called J, was announced at the APL90 Users’ Conference. (For examples of APL and J programs, see here.)
With collaborators, including his son Eric, Ken continued to work on the development of J, and he published many papers, monographs and books. On Saturday, October 16, 2004 Ken suffered a stroke while working on a J tutorial, and died three days later on October 19, at the age of 83.
Ken Iverson strongly believed in the power of appropriate notation as an aid to thought, especially when that notation can be interpreted by a computer. In the introduction to his Turing lecture he said, “The advantages of executability and universality found in programming languages can be effectively combined, in a single coherent language, with the advantages offered by mathematical notation.” He quoted from Alfred North Whitehead’s An Introduction to Mathematics first published in 1911:
“By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race.”
Author: Keith Smillie