Кеннет Юджин Айверсон (; 17 декабря 1920 — 19 октября 2004, Канада) — канадский учёный в области теории вычислительных систем, программист, автор языка программирования APL, получивший за эту разработку в 1979 году премию Тьюринга Ассоциации компьютерной техники (ACM).
Биография Кеннет Юджин Айверсон родился 17 декабря 1920 года на ферме городка Камроуз в канадской провинции Альберта. Он закончил 9 классов и был вынужден оставить школу ради того, чтобы помогать своей семье на ферме. К тому же он не видел смысла в дальнейшем обучении, считая, что максимум, чего он может достичь в школе, — это места школьного учителя, чего он не хотел.
Во время Второй мировой войны Кеннет Айверсон служил в Канадских Королевских военно-воздушных силах в качестве бортинженера. После демобилизации Айверсон поступил в Королевский университет в Кингстоне (Онтарио), который окончил в 1951 году бакалавром математики и физики. Затем в том же году получил диплом магистра математики в Гарварде. Научными руководителями Кеннета Айверсона были Говард Эйкен и крупный экономист Василий Леонтьев. Говард Эйкен разработал Harvard Mark IV, одну из первых крупномасштабных ЦВМ, Василий Леонтьев был экономистом, который разрабатывал метод «затраты — выпуск» экономического анализа, работы, по которой он позже получил Нобелевскую премию. Модель Леонтьева требовала больших матриц, и Айверсон работал над программами, которые могли оценить эти матрицы на Harvard Mark IV. Айверсон получил степень доктора философии в Прикладной математике в 1954 с диссертацией на основе этой работы.
С 1955 по 1960 гг. Айверсон, будучи доцентом в Гарварде, разработал нотацию для совершения операций с числовыми массивами. Он опубликовал описание этого алгоритма на созданном им языке программирования APL в 1961 году, в книге «A Programming Language» («Некий язык программирования») . Этот язык ориентирован на параллельную обработку массивов и содержит алгоритмические средства, позволяющие запрограммировать сложнейшие матричные вычисления в одной строчке. Такие возможности 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)
Основные публикации
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
Категория:Программисты Канады Категория:Учёные в области информатики Канады Категория:Создатели языков программирования