Айверсон, Кеннет

Кеннет Юджин Айверсон (англ. Kenneth Eugene Iverson; 17 декабря 1920, Камроуз[d], Альберта, Канада19 октября 2004, Торонто, Канада) — канадский учёный в области теории вычислительных систем, программист, автор языка программирования APL, получивший за эту разработку в 1979 году премию Тьюринга Ассоциации компьютерной техники (ACM).

Биография

Кеннет Юджин Айверсон родился 17 декабря 1920 года на ферме городка Камроуз в канадской провинции Альберта. Окончил 9 классов и был вынужден оставить школу ради того, чтобы помогать своей семье на ферме. К тому же он не видел смысла в дальнейшем обучении, считая, что максимум чего, он может достичь в школе — это профессия школьного учителя, чего он не хотел[2].

Во время Второй мировой войны Кеннет Айверсон служил в Канадских Королевских военно-воздушных силах в качестве бортинженера. После демобилизации Айверсон поступил в Королевский университет в Кингстоне (Онтарио), который окончил в 1950 году бакалавром математики и физики[3]. Затем в 1951 году получил диплом магистра математики в Гарварде. Научными руководителями Кеннета Айверсона были Говард Эйкен и крупный экономист Василий Леонтьев.[4] Говард Эйкен разработал Harvard Mark IV, одну из первых крупномасштабных ЦВМ, Василий Леонтьев был экономистом, который разрабатывал метод «затраты — выпуск» экономического анализа, работы, по которой он позже получил Нобелевскую премию. Модель Леонтьева требовала больших матриц, и Айверсон работал над программами, которые могли оценить эти матрицы на Harvard Mark IV. Айверсон получил степень доктора философии в Прикладной математике в 1954 с диссертацией на основе этой работы.

С 1955 по 1960 гг. Айверсон, будучи доцентом в Гарварде, разработал нотацию для совершения операций с числовыми массивами. Он опубликовал описание этого алгоритма на созданном им языке программирования APL в 1961 году, в книге «A Programming Language» («Некий язык программирования»)[5]. Этот язык ориентирован на параллельную обработку массивов и содержит алгоритмические средства, позволяющие запрограммировать сложнейшие матричные вычисления в одной строчке. Такие возможности APL достигаются за счёт использования множества специальных символов и условных обозначений, отсутствующих на типичных компьютерных клавиатурах.

В 1960-х годах в IBM Айверсон тесно сотрудничал с Эдином Фалкоффом, что привело к практической реализации языка и созданию APL\360.

Интерпретирующая среда APL была реализована на разных платформах, в том числе аппаратно на самом первом в мире персональном компьютере IBM 5100, который «Голубой гигант» создал в 1974 году. IBM 5100 имел ОЗУ 32 Кб и внешние устройства хранения программ и файлов на кассетном магнитофоне. Пятидюймовый монитор вместе с клавиатурой, ориентированной на кодировку APL, был встроен в корпус, а весил этот «ПК» около 20 кг. Стоил же аппарат примерно 15 тысяч долларов, и поэтому не получил массового распространения.

В 1990-х годах Айверсон создал версию APL под лаконичным названием J, с синтаксисом записи команд, ограниченным классическим ANSI-набором символов.

Вклад в науку и наследие

Философия Кеннета Айверсона базировалась на концепции «нотация как инструмент мышления» (англ. Notation as a Tool of Thought). Её суть заключается в том, что язык программирования должен быть не просто средством для выражения готовых мыслей, а инструментом самого процесса мышления[6].

Созданный им язык APL оказал фундаментальное влияние на концепцию параллелизма данных и развитие современных массиво-ориентированных языков. Идея обработки целых массивов (векторов, матриц) как единого целого стала неявной формой параллелизма данных. Концепции APL легли в основу таких систем и языков, как MATLAB, J, K, Q, а также повлияли на популярные библиотеки, такие как NumPy для Python[7].

В 2025 году был отмечен рост интереса к APL (в частности, к реализации Dyalog APL) для решения задач машинного обучения и обработки больших массивов данных. Примером этой тенденции стал проект APLearn — библиотека для машинного обучения, созданная для оценки эффективности применения языка в данной области[8].

Личная жизнь

Кеннет Айверсон был женат на Джин (в девичестве Николсон). На момент смерти учёного в 2004 году они состояли в браке 58 лет. У супругов было четверо детей: сыновья Эрик, Пол, Кит и дочь Джанет. Сын Эрик работал вместе с отцом над развитием языка программирования J[9].

Премии и награды

Основные публикации

  • Кеннет Айверсон. 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).
  • J Introduction and Dictionary.

Примечания

  1. Mathematics Genealogy Project (англ.) — 1997.
  2. Len Shustek.
  3. 1 2 3 Kenneth E. Iverson. A.M. Turing Award. ACM. Дата обращения: 8 июня 2026.
  4. Canadian Web.
  5. Kenneth E. Iverson (14 December 1983), Letter to J.K. Tuttle, <http://www.jsoftware.com/papers/JKTletter.htm>. Проверено 8 июня 2026.  Архивная копия от 16 марта 2016 на Wayback Machine
  6. Notation as a Tool of Thought. Recurse Center Blog. Дата обращения: 8 июня 2026.
  7. APL: Язык, который изменил мир. Habr. Дата обращения: 8 июня 2026.
  8. APLearn – The Winning APL Forge 2025 Project. Dyalog Blog (октябрь 2025). Дата обращения: 8 июня 2026.
  9. Passage: Kenneth Eugene Iverson. Дата обращения: 8 июня 2026.

Литература

Дополнительно по теме