APL (A Programming Language) - What is it?
The APL programming language is one which allows anyone to create applications to process data. Unlike most languages which follow the same foundations and limited instructions APL allows users to approach problems with an almost infinite amount of solutions. APL stands for A Programming Language.
APL was invented by Kenneth E. Iverson, a Canadian computer scientist, in 1962.
APL uses a large variety of symbols to allow you to carry out complex calculations with minimal coding, this means that operations in a traditional language which could take many lines of code can often be performed with one line of APL.
With its diversity and ability to handle large amounts of data, APL is often used in medical research and business applications providing invaluable insights and presenting complex data to the user in an easy to manage way.
Who was Kenneth E. Iverson?
Ken Iverson was born on December 17, 1920 in Camrose, a city in central Alberta, Canada. His parents were farmers of Norwegian descent who came to Alberta from North Dakota. While he showed an early aptitude for mathematics, teaching himself calculus while a teenager, he left school after the 9th grade to work on his parents’ farm. However, during World War II, while he served in the Royal Canadian Air Force, he qualified for a high school diploma by taking correspondence courses. After the war, he was able to enter Queen’s University in Kingston, Ontario and graduated in 1950 with a Bachelor’s degree in Mathematics and Physics.
Continuing his education at Harvard University, he received a Master’s degree in 1951 in Mathematics and started 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.
Iverson stayed at Harvard as an assistant professor for the next five years but failed to get tenure.
Iverson was hired by IBM in 1960 to develop his notation into a programming language for the IBM System/360.
In 1980, Iverson left IBM for I. P. Sharp Associates, a leading Canadian APL timesharing company, where he, among other things, participated in the further development of the APL programming language. In 1987 he retired from I. P. Sharp.
In the summer of 1989, Roger Hui and Arthur Whitney, along with Iverson, produced a short prototype interpreter which would later be the seed for the J language, a variant of APL. Iverson and Roger Hui would continue collaborating on J for the next 15 years.
Ken Iverson died of a stroke on October 19, 2004 at the age of 83.
It is important to distinguish the difficulty of describing and learning a piece of notation from the difficulty of mastering its implications. […] Indeed, the very suggestiveness of a notation may make it seem harder to learn because of the many properties it suggests for exploration.
- Kenneth E. Iverson
Iverson developed a mathematical notation that became known as Iverson Notation for manipulating arrays that he taught to his students and described in his 1962 book A Programming Language. In 1960, he began work for IBM and working with Adin Falkoff, created APL based on the notation he had developed. He was named an IBM Fellow in 1970.
In late 1989, Ken Iverson and Roger Hui began collaboration on an advanced continuation of an APL-like language which they called J, first demonstrated publicly at the APL90 conference the next year. The improvements were intended to fix some of the persistent character set issues that plagued APL since its inception, and to add new advanced features such as functional programming, arrays of variables, and support for parallel MIMD operations, some of which do not appear in APL today. It was intended that the J language be an improvement over existing APL. The J interpreter and language continue to evolve today. A version is available from J Software under the GPL3 license.
– Taken from the Wikipedia article on Kenneth E. Iverson.
Any APL Questions?
We are always available to give any help or advice to those wanting to get into APL. Please use the form below to get in touch.