Айверсон, Кеннет
Кеннет Юджин Айверсон (англ. Kenneth Eugene Iverson; 17 декабря 1920 — 19 октября 2004, Канада) — канадский учёный в области теории вычислительных систем, программист, автор языка программирования APL, получивший за эту разработку в 1979 году премию Тьюринга Ассоциации компьютерной техники (ACM).
Кеннет Айверсон | |
---|---|
англ. Kenneth Eugene Iverson | |
Дата рождения | 17 декабря 1920 |
Место рождения | |
Дата смерти | 19 октября 2004[1] (83 года) |
Место смерти | |
Страна | |
Научная сфера | программирование |
Место работы | |
Альма-матер | |
Научный руководитель | Василий Леонтьев и Эйкен, Говард[2] |
Награды и премии | |
Медиафайлы на Викискладе |
Биография
Кеннет Юджин Айверсон родился 17 декабря 1920 года на ферме городка Камроуз в канадской провинции Альберта. Он закончил 9 классов и был вынужден оставить школу ради того, чтобы помогать своей семье на ферме. К тому же он не видел смысла в дальнейшем обучении, считая, что максимум чего, он может достичь в школе — это профессия школьного учителя, чего он не хотел[3].
Во время Второй мировой войны Кеннет Айверсон служил в Канадских Королевских военно-воздушных силах в качестве бортинженера. После демобилизации Айверсон поступил в Королевский университет в Кингстоне (Онтарио), который окончил в 1951 году бакалавром математики и физики. Затем в том же году получил диплом магистра математики в Гарварде. Научными руководителями Кеннета Айверсона были Говард Эйкен и крупный экономист Василий Леонтьев.[4] Говард Эйкен разработал Harvard Mark IV, одну из первых крупномасштабных ЦВМ, Василий Леонтьев был экономистом, который разрабатывал метод «затраты — выпуск» экономического анализа, работы, по которой он позже получил Нобелевскую премию. Модель Леонтьева требовала больших матриц, и Айверсон работал над программами, которые могли оценить эти матрицы на Harvard Mark IV. Айверсон получил степень доктора философии в Прикладной математике в 1954 с диссертацией на основе этой работы.
С 1955 по 1960 гг. Айверсон, будучи доцентом в Гарварде, разработал нотацию для совершения операций с числовыми массивами. Он опубликовал описание этого алгоритма на созданном им языке программирования APL в 1961 году, в книге «A Programming Language» («Некий язык программирования»)[5][6]. Этот язык ориентирован на параллельную обработку массивов и содержит алгоритмические средства, позволяющие запрограммировать сложнейшие матричные вычисления в одной строчке. Такие возможности APL достигаются за счёт использования множества специальных символов и условных обозначений, отсутствующих на типичных компьютерных клавиатурах.
Интерпретирующая среда APL была реализована на разных платформах, в том числе аппаратно на самом первом в мире персональном компьютере IBM 5100, который «Голубой гигант» создал в 1974 году. IBM 5100 имел ОЗУ 32 Кб и внешние устройства хранения программ и файлов на кассетном магнитофоне. Пятидюймовый монитор вместе с клавиатурой, ориентированной на кодировку APL, был встроен в корпус, а весил этот «ПК» около 20 кг. Стоил же аппарат примерно 15 тысяч долларов, и поэтому не получил массового распространения.
В 1990-х годах Айверсон создал версию APL под лаконичным названием J, с синтаксисом записи команд, ограниченным классическим ANSI-набором символов.
Премии и награды
- IBM Fellow (IBM) (1970)
- Мемориальная премия Гарри Гуда (1975)
- Премия Тьюринга (1979)
- Грамота Пионера компьютерной техники (IEEE Computer Society) (1982)
Основные публикации
- Кеннет Айверсон. A Programming Language (англ.). — John Wiley and Sons, 1962. — ISBN 0-471-43014-5.
- Automatic Data Processing (with Frederick Brooks), John Wiley and Sons (1963)
- A formal Description of the System /360, (with A. D. Falkoff and E. H. Sussenguth), IBM Systems Journal, vol. 3. no. 3, 1964, pp. 198—262.
- Elementary Functions: an algorithmic treatment (Science Research Associates, Inc.) (1966)
- APL/360:User’s Manual (with A. D. Falkoff), IBM, 1968
- APL in Exposition, IBM Philadelphia Sceientific Center Tech. Report No. 320-3010, IBM, 1972.
- The Design of APL, (with A. D. Falkoff) IBM J. Research and Development, vol. 17, no. 4, 19073, pp. 324—334.
- Notation as a Tool of Thought, Comm. ACM, vol. 23, no. 8, 1980, pp. 444—465.
- A Source Book In APL (with Adin D. Falkoff) (APL Press) (1981)
- Tangible Math (Iverson Software Inc.) (1990)
- A Personal View of APL, IBM System Journal, vol. 30, no. 4, 1991, pp. 582—593.
- The ISI Dictionary of J (Iverson Software Inc.) (1991)
Примечания
- http://www.timesonline.co.uk/tol/comment/obituaries/article1076611.ece
- Математическая генеалогия (англ.) — 1997.
- Len Shustek.
- Canadian Web.
- Kenneth E. Iverson (14 December 1983), Letter to J.K. Tuttle, <http://www.jsoftware.com/papers/JKTletter.htm>. Проверено 16 апреля 2016.
- Kenneth E. Iverson. A Programming Language (англ.). — John Wiley & Sons, 1962. — ISBN 0-471-43014-5.
Литература
- Len Shustek. The APL Programming Language Source Code (англ.) (2012). Дата обращения: 17 октября 2014.
- Кеннет Айверсон (англ.) (2012). Дата обращения: 28 октября 2014.