Kenneth Eugene Iverson (17 December 1920 – 19 October 2004) was a Canadian computer scientist noted for the development of the programming language APL. He was honored with the Turing Award in 1979 "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".
Life Ken Iverson was born on 17 December 1920 near Camrose, a town in central Alberta, Canada. His parents were farmers who came to Alberta from North Dakota; his ancestors came from Trondheim, Norway.
During World War II, he served first in the Canadian Army and then in the Royal Canadian Air Force. He received a B.A. degree from Queen's University and the M.Sc. and Ph.D. degrees from Harvard University. In his career, he worked for Harvard, IBM, I. P. Sharp Associates, and Jsoftware Inc. (née Iverson Software Inc.).
Iverson suffered a stroke while working at the computer on a new J lab on 16 October 2004, and died in Toronto on 19 October 2004 at age 83.
Education
Iverson began school on 1 April 1926 in a one-room school, initially in Grade 1, promoted to Grade 2 after 3 months and to Grade 4 by the end of June 1927. He left school after Grade 9 because it was the depths of the Great Depression and there was work to do on the family farm, and because he thought further schooling only led to becoming a schoolteacher and he had no desire to become one. At age 17, while still out of school, he enrolled in a correspondence course on radios with De Forest Training in Chicago, and learned calculus by self-study from a textbook. During World War II, while serving in the Royal Canadian Air Force, he took correspondence courses toward a high school diploma.
After the war, Iverson enrolled in Queen's University in Kingston, Ontario, taking advantage of government support for ex-servicemen and under threat from an Air Force buddy who said he would "beat his brains out if he did not grasp the opportunity". He graduated in 1950 as the top student with a bachelor's degree in mathematics and physics.
Continuing his education at Harvard University, he began in the Department of Mathematics and received a master's degree in 1951. He then switched to the Department of Engineering and Applied Physics, working with Howard Aiken and Wassily Leontief.
Howard Aiken had developed the Harvard Mark I, one of the first large-scale digital computers, while Wassily Leontief was an economist who was developing the input–output model of economic analysis, work for which he would later receive the Nobel Prize. Leontief's model required large matrices and Iverson worked on programs that could evaluate these matrices on the Harvard Mark IV computer. Iverson received a Ph.D. in applied mathematics in 1954 with a dissertation based on this work.
At Harvard, Iverson met Eoin Whitney, a 2-time Putnam Fellow and fellow graduate student from Alberta. This had future ramifications.
Work Harvard (1955–1960)
Iverson stayed on at Harvard as an assistant professor to implement the world's first graduate program in "automatic data processing".
It was in this period that Iverson developed notation for describing and analyzing various topics in data processing, for teaching classes, and for writing (with Brooks) Automatic Data Processing. He was "appalled" to find that conventional mathematical notation failed to fill his needs, and began work on extensions to the notation that were more suitable. In particular, he adopted the matrix algebra used in his thesis work, the systematic use of matrices and higher-dimensional arrays in tensor analysis, and operators in the sense of Heaviside in his treatment of Maxwell's equations, higher-order functions on function argument(s) with a function result. The notation was also field-tested in the business world in 1957 during a 6-month sabbatical spent at McKinsey & Company. The first published paper using the notation was The Description of Finite Sequential Processes, initially Report Number 23 to Bell Labs and later revised and presented at the Fourth London Symposium on Information Theory in August 1960.
Iverson stayed at Harvard for five years but failed to get tenure, because "[he hadn't] published anything but the one little book".
IBM (1960–1980)
Iverson joined IBM Research in 1960 (and doubled his salary). He was preceded to IBM by Fred Brooks, who advised him to "stick to whatever [he] really wanted to do, because management was so starved for ideas that anything not clearly crazy would find support." In particular, he was allowed to finish and publish A Programming Language . and (with Brooks) Automatic Data Processing, . two books that described and used the notation developed at Harvard. (Automatic Data Processing and A Programming Language began as one book "but the material grew in both magnitude and level until a separation proved wise".)
At IBM, Iverson soon met Adin Falkoff, and they worked together for the next twenty years. Chapter 2 of A Programming Language used Iverson's notation to describe the IBM 7090 computer. In early 1963 Falkoff, later joined by Iverson and Ed Sussenguth, proceeded to use the notation to produce a formal description of the IBM System/360 computer then under design. The result was published in 1964 in a double issue of the IBM Systems Journal, thereafter known as the "grey book" or "grey manual". The book was used in a course on computer systems design at the IBM Systems Research Institute. A consequence of the formal description was that it attracted the interest of bright young minds. One hotbed of interest was at Stanford University which included Larry Breed, Phil Abrams, Roger Moore, Charles Brenner, and Mike Jenkins, Reprinted in all of whom later made contributions to APL. Donald McIntyre, head of geology at Pomona College which had the first general customer installation of a 360 system, used the formal description to become more expert than the IBM systems engineer assigned to Pomona.
With the completion of the formal description Falkoff and Iverson turned their attention to implementation. This work was brought to rapid fruition in 1965 when Larry Breed and Phil Abrams joined the project. They produced a FORTRAN-based implementation on the 7090 called IVSYS (for Iverson system) by autumn 1965, first in batch mode and later, in early 1966, in time-shared interactive mode. Subsequently, Breed, Dick Lathwell (ex University of Alberta), and Roger Moore (of I. P. Sharp Associates) produced the System/360 implementation; the three received the Grace Murray Hopper Award in 1973 "for their work in the design and implementation of APL\360, setting new standards in simplicity, efficiency, reliability and response time for interactive systems."ACM Grace Murray Hopper Award (1973): Breed, Lathwell, and Moore; retrieved 14 April 2016. While the 360 implementation work was underway "Iverson notation" was renamed "APL", by Falkoff. The workspace "1 cleanspace" was saved at 1966-11-27 22.53.58 UTC. APL\360 service began within IBM several weeks before that and outside IBM in 1968. Additional information on the implementation of APL\360 can be found in the Acknowledgements of the APL\360 User's Manual and in "Appendix. Chronology of APL development" of The Design of APL.
The formal description and especially the implementation drove the evolution of the language, a process of consolidation and regularization in typography, linearization, syntax, and function definition described in APL\360 History, The Design of APL, and The Evolution of APL. Two treatises from this period, Conventions Governing the Order of Evaluation and Algebra as a Language, are apologias of APL notation.
The notation was used by Falkoff and Iverson to teach various topics at various universities and at the IBM Systems Research Institute. In 1964 Iverson used the notation in a one-semester course for seniors at the Fox Lane High School, and later in Swarthmore High School. After APL became available its first application was to teach formal methods in systems design at NASA Goddard. It was also used at the Hotchkiss School, Lower Canada College, Scotch Plains High School, Atlanta public schools, among others. In one school the students became so eager that they broke into the school after hours to get more APL computer time; in another the APL enthusiasts steered newbies to BASIC so as to maximize their own APL time.
In 1969, Iverson and the APL group inaugurated the IBM Philadelphia Scientific Center. In 1970 he was named IBM Fellow. He used the funding that came with being an IBM Fellow to bring in visiting teachers and professors from various fields, including Donald McIntyre from Pomona and Jeff Shallit as a summer student. For a period of several months the visitors would start using APL for expositions in their own fields, and the hope was that later they would continue their use of APL at their home institutions. Iverson's work at this time centered in several disciplines, including collaborative projects in circuit theory, genetics, geology, and calculus. When the PSC closed in 1974, some of the group transferred to California while others including Iverson remained in the East, later transferring back to IBM Research. He received the Turing Award in 1979.
The following table lists the publications which Iverson authored or co-authored while he was at IBM. They reflect the two main strands of his work.
Education Automatic Data Processing Elementary Functions: An Algorithmic Treatment The Use of APL in Teaching Using the Computer to Compute Algebra: An Algorithmic Treatment APL in Exposition An Introduction to APL for Scientists and Engineers Introducing APL to Teachers Elementary Analysis Programming Style in APL
Language design & implementation A Programming Language A Programming Language A Common Language for Hardware, Software, and Applications Programming Notation in System Design Formalism in Programming Languages A Method of Syntax Specification A Formal Description of System/360 APL\360 User's Manual Communication in APL Systems The Design of APL APL as an Analytic Notation APLSV User's Manual APL Language Two Combinatoric Operators The Evolution of APL Operators and Functions The Role of Operators in APL The Derivative Operator Operators Notation as a Tool of Thought
I. P. Sharp Associates (1980–1987)
In 1980, Iverson left IBM for I. P. Sharp Associates, an APL time-sharing company. He was preceded there by his IBM colleagues Paul Berry, Joey Tuttle, Dick Lathwell, and Eugene McDonnell. At IPSA, the APL language and systems group was managed by Eric Iverson (Ken Iverson's son); Roger Moore, one of the APL\360 implementers, was a vice president.