stringtranslate.com

Кеннет Э. Айверсон

Кеннет Юджин Айверсон (17 декабря 1920 — 19 октября 2004) — канадский учёный-компьютерщик , известный разработкой языка программирования APL . В 1979 году он был удостоен премии Тьюринга «за новаторские усилия в области языков программирования и математической записи, результатом которых стало то, что в области вычислений теперь известно как APL; за его вклад в реализацию интерактивных систем, в образовательное использование APL и в программирование». теория и практика языка». [1]

Жизнь

Кен Айверсон родился 17 декабря 1920 года недалеко от Камроуза , города в центральной провинции Альберта , Канада. [2] Его родители были фермерами, приехавшими в Альберту из Северной Дакоты ; его предки прибыли из Тронхейма , Норвегия . [3]

Во время Второй мировой войны он служил сначала в канадской армии , а затем в Королевских ВВС Канады . [3] [4] Он получил степень бакалавра в Королевском университете и степень магистра наук. и доктор философии. степени Гарвардского университета . За свою карьеру он работал в Гарварде , IBM , IP Sharp Associates и Jsoftware Inc. (урожденная Iverson Software Inc.).

Айверсон перенес инсульт во время работы за компьютером в новой лаборатории J 16 октября 2004 г. [5] и умер в Торонто 19 октября 2004 г. в возрасте 83 лет. [2]

Образование

Айверсон пошел в школу 1 апреля 1926 года в однокомнатной школе [4] , первоначально учился в 1 классе, через 3 месяца перешёл во 2 класс, а к концу июня 1927 года — в 4 класс. Он бросил школу после 9 класса, потому что это был в глубине Великой депрессии , и на семейной ферме нужно было работать , а также потому, что он думал, что дальнейшее обучение приведет только к тому, что он станет школьным учителем, и у него не было желания им стать. В 17 лет, еще не окончив школу, он записался на заочные курсы по радио в компанию De Forest Training в Чикаго и изучил математический анализ самостоятельно по учебнику. [4] [6] Во время Второй мировой войны , во время службы в Королевских ВВС Канады , он прошел заочные курсы, чтобы получить диплом средней школы.

После войны Айверсон поступил в Королевский университет в Кингстоне, Онтарио , воспользовавшись государственной поддержкой бывших военнослужащих и находясь под угрозой со стороны приятеля из ВВС, который сказал, что «вышибет себе мозги, если не воспользуется этой возможностью». [ 4] Он окончил университет в 1950 году как лучший студент со степенью бакалавра математики и физики . [3]

Продолжив образование в Гарвардском университете , он начал на факультете математики и получил степень магистра в 1951 году. Затем он перешёл на факультет инженерии и прикладной физики, работая с Говардом Эйкеном и Василием Леонтьевым .

Кеннет Айверсон вспоминает аспирантуру под руководством Эйкена как «подобие ученичества», в ходе которого студент «изучил инструменты торговли стипендиями». Каждая тема «использовалась скорее как средство развития таких навыков, как ясность мысли и выражение мыслей, чем как самоцель». При поступлении на программу аспирант проходил обряд «принятия в лоно». Ему дали стол (или часть стола) среди группы других аспирантов, постоянных сотрудников или приглашенных ученых, «большинство из которых занимались тем или иным аспектом проектирования и создания компьютеров». Таким образом, студент «почувствовал себя частью научного предприятия» и ему «часто впервые был предоставлен легкий и личный доступ к другим людям, более опытным в выбранной им области».

-  И. Бернард Коэн , Говард Эйкен: Портрет пионера компьютеров , MIT Press, 1999, стр. 215. [7]

Во время интервью с Эйкеном я спросил его, можем ли мы с Троппом просмотреть его конспекты лекций; Эйкен ответил, что он всегда уничтожал свои конспекты лекций в конце каждого года, чтобы у него не было соблазна повторить свои лекции.

-  И. Бернард Коэн и Грегори В. Уэлч, редакторы, Makin 'Numbers , MIT Press, 1999, стр. xvi. [8]

Говард Эйкен разработал Harvard Mark I , один из первых крупномасштабных цифровых компьютеров, а Василий Леонтьев был экономистом, разрабатывавшим модель ввода-вывода экономического анализа, за работу за которую он позже получил Нобелевскую премию . Модель Леонтьева требовала больших матриц, и Айверсон работал над программами, которые могли вычислять эти матрицы на компьютере Harvard Mark IV . Айверсон получил докторскую степень. по прикладной математике в 1954 г., защитив диссертацию на основе этой работы. [9] [10]

В Гарварде Айверсон познакомился с Эоином Уитни, двукратным стипендиатом Патнэма и аспирантом из Альберты. [11] [12] Это имело последствия в будущем.

Работа

Гарвард (1955–1960)

Симплексный алгоритм в нотации Айверсона [13] [14]

Айверсон остался в Гарварде в качестве доцента , чтобы реализовать первую в мире аспирантуру по «автоматической обработке данных». [15] [16] [17]

Многие думают, что Эйкена интересовали только научные компьютеры. Это было просто не так. Во время одного часа кофе Эйкен обратился к Кену Айверсону, который только что защитил докторскую диссертацию, и сказал: «Эти машины будут иметь огромное значение для бизнеса, и я хочу, чтобы вы подготовили и преподавали курс по обработке бизнес-данных». следующей осенью». Такого курса еще не было нигде в мире. Кен имел квалификацию только потому, что был математиком. Я был так воодушевлен этой перспективой, что немедленно вызвался стать ассистентом Кена.

-  Фредерик Брукс-младший , Эйкен и Гарвардская «Комп-лаборатория», в книге И. Бернарда Коэна и Грегори В. Уэлча, редакторы, Makin 'Numbers , MIT Press, 1999, стр. 141. [8]

Именно в этот период Айверсон разработал обозначения для описания и анализа различных тем обработки данных, для преподавания классов и для написания (совместно с Бруксом) книги « Автоматическая обработка данных» . [18] Он был «потрясен», обнаружив, что традиционные математические обозначения не удовлетворяют его потребностям, и начал работу над расширениями этих обозначений, которые были более подходящими. В частности, он принял матричную алгебру, использованную в его диссертационной работе, систематическое использование матриц и массивов более высокой размерности в тензорном анализе, а также операторы в смысле Хевисайда в его трактовке уравнений Максвелла , функции высшего порядка по функции аргумента( s) с результатом функции. [4] Эта нотация также была опробована в деловом мире в 1957 году во время шестимесячного творческого отпуска, проведенного в McKinsey & Company . [4] [19] Первой опубликованной статьей, использующей эту нотацию, было «Описание конечных последовательных процессов» , первоначально номер отчета 23 для Bell Labs , а затем переработанный и представленный на Четвертом лондонском симпозиуме по теории информации в августе 1960 года. [13] [20] ]

Айверсон пробыл в Гарварде пять лет, но не смог получить постоянную должность, потому что «[он не опубликовал] ничего, кроме одной маленькой книжки». [3]

IBM (1960–1980)

Айверсон присоединился к IBM Research в 1960 году (и удвоил свою зарплату). [4] Ему предшествовал приход в IBM Фред Брукс , который посоветовал ему «придерживаться того, что [он] действительно хотел сделать, потому что руководство настолько изголодалось по идеям, что все, что не является явно сумасшедшим, нашло бы поддержку». В частности, ему разрешили закончить и опубликовать «Язык программирования» [20] [21] и (совместно с Бруксом) « Автоматическая обработка данных » [18] две книги, в которых описывалась и использовалась система обозначений, разработанная в Гарварде. ( «Автоматическая обработка данных» и «Язык программирования» начинались как одна книга, «но материал рос как по величине, так и по уровню, пока разделение не оказалось разумным». [18] [21] ).

В IBM Айверсон вскоре встретил Адина Фалькоффа , и они проработали вместе следующие двадцать лет. В главе 2 « Языка программирования» для описания компьютера IBM 7090 использовалась нотация Айверсона . [20] [21] В начале 1963 года Фалькофф, к которому позже присоединились Айверсон и Эд Сассенгут , приступил к использованию обозначений для создания формального описания компьютера IBM System/360, который тогда находился в стадии разработки. [22] Результат был опубликован в 1964 году в двойном выпуске журнала IBM Systems Journal, [23] впоследствии известного как «серая книга» или «серое руководство». Книга использовалась в курсе по проектированию компьютерных систем в Научно-исследовательском институте систем IBM. [23] Следствием формального описания стало то, что оно привлекло интерес ярких молодых умов. [4] [24] Одним из очагов интереса был Стэнфордский университет , в который входили Ларри Брид , Фил Абрамс , Роджер Мур , Чарльз Бреннер , [25] и Майк Дженкинс, [26] [27], каждый из которых позже внес свой вклад в APL. Дональд Макинтайр, глава геологического факультета колледжа Помоны , который впервые установил систему 360 для общего потребителя, использовал формальное описание, чтобы стать более экспертным, чем системный инженер IBM, назначенный в Помону. [4] [28]

После завершения формального описания Фалькофф и Айверсон сосредоточили свое внимание на реализации. Эта работа быстро увенчалась успехом в 1965 году, когда к проекту присоединились Ларри Брид и Фил Абрамс . К осени 1965 года они создали реализацию на базе FORTRAN для 7090 под названием IVSYS (для системы Iverson), сначала в пакетном режиме, а затем, в начале 1966 года, в интерактивном режиме с разделением времени. [25] [29] [30] Впоследствии Брид, Дик Латвелл (бывший Университет Альберты ) и Роджер Мур (из IP Sharp Associates ) создали реализацию System/360; [31] все трое получили премию Грейс Мюррей Хоппер в 1973 году «за работу по разработке и внедрению APL\360, устанавливающую новые стандарты простоты, эффективности, надежности и времени отклика для интерактивных систем». [32] Пока работа по реализации 360 велась, «нотация Айверсона» [30] [33] была переименована Фалькоффом в «APL». [34] Рабочая область «1 чистое пространство» была сохранена 27 ноября 1966 г., 22.53.58 UTC . [24] Служба APL\360 началась в IBM за несколько недель до этого [35] и за пределами IBM в 1968 году. [29] Дополнительную информацию о реализации APL\360 можно найти в Благодарностях к Руководству пользователя APL\360 [36]. ] и в «Приложении. Хронология развития АПЛ» книги « Проектирование АПЛ» . [22]

APL-выражение для глубины вложенности скобок [37] [38]

Формальное описание и особенно реализация стимулировали эволюцию языка, процесс консолидации и регуляризации в типографике, линеаризации, синтаксисе и определении функций, описанный в APL\360 History , [39] The Design of APL , [22] и The Эволюция APL . [19] Два трактата этого периода, «Конвенции, управляющие порядком оценки» [40] и «Алгебра как язык » [41] , представляют собой апологию нотации APL.

Эта нотация использовалась Фалькоффом и Айверсоном для преподавания различных тем в различных университетах и ​​в Научно-исследовательском институте систем IBM. [22] [39] В 1964 году Айверсон использовал эти обозначения в односеместровом курсе для старшеклассников в средней школе Фокс-Лейн , [34] [42] , а затем в средней школе Суортмора . [4] После того, как APL стал доступен, его первым применением было преподавание формальных методов проектирования систем в НАСА Годдард . [39] [43] Он также использовался в школе Хотчкисс , [25] Колледже Нижней Канады , [44] Средней школе Скотч-Плейнс , [45] Государственных школах Атланты, [46] [47] среди других. В одной школе ученики настолько заинтересовались, что ворвались в школу в нерабочее время, чтобы получить больше компьютерного времени по APL; [24] [48] в другом случае энтузиасты APL направляли новичков на BASIC , чтобы максимально сэкономить время, потраченное на APL. [25]

В 1969 году Айверсон и группа APL открыли Филадельфийский научный центр IBM. [29] [39] В 1970 году он был назван членом IBM . [49] Он использовал финансирование, полученное в качестве члена IBM, чтобы привлечь к себе преподавателей и профессоров из различных областей, в том числе Дональда Макинтайра из Помоны [28] и Джеффа Шаллита в качестве летнего студента. [24] В течение нескольких месяцев посетители начинали использовать APL для выставок в своих областях, и была надежда, что позже они продолжат использовать APL в своих учреждениях. [50] Работа Айверсона в это время была сосредоточена на нескольких дисциплинах, включая совместные проекты в области теории цепей, генетики, геологии и исчисления. [51] [52] [53] [54] Когда PSC закрылся в 1974 году, [29] [34] часть группы переехала в Калифорнию, в то время как другие, включая Айверсона, остались на Востоке, позже перейдя обратно в IBM Research. Он получил премию Тьюринга в 1979 году. [1]

(Слева направо) Дик Лэтвелл, Кен Айверсон, Роджер Мур, Адин Фалькофф, Фил Абрамс и Ларри Брид. Крайний слева на заднем плане: Джон МакГрю. Снято в гостиничном номере IP Sharp Associates во время встречи пользователей APL в 1978 году в Торонто, Онтарио.

В следующей таблице перечислены публикации, автором или соавтором которых был Айверсон, когда он работал в IBM. Они отражают два основных направления его творчества.

Образование
Языковой дизайн и реализация

IP Sharp Associates (1980–1987)

Оператор ранга APL ⍤ [77] [78]

В 1980 году Айверсон покинул IBM и перешел в IP Sharp Associates , [79] [80] компанию APL с разделением времени . Ему предшествовали его коллеги из IBM Пол Берри, Джоуи Таттл, Дик Лэтвелл и Юджин МакДоннелл . В IPSA группой языков и систем APL руководил Эрик Айверсон (сын Кена Айверсона); Роджер Мур , один из разработчиков APL\360, был вице-президентом.

Айверсон работал над разработкой и расширением APL по направлениям, представленным в разделе « Операторы и функции» . [73] [81] Работа над языком получила импульс в 1981 году, когда Артур Уитни и Айверсон создали модель APL, написанную на APL [82] [83] одновременно с базой данных IPSA OAG . [3] [12] [84] (Айверсон познакомил Артура Уитни, сына Эоина Уитни, с APL, когда ему было 11 лет [12] и в 1974 году рекомендовал его на летнюю студенческую должность в IPSA Калгари . [24] ) В модели синтаксис APL управлялся таблицей 11х5. В процессе Уитни также изобрела оператор ранга . [85] Конструкция языка была дополнительно упрощена и расширена в Rationalized APL [86] в январе 1983 года, в нескольких изданиях A Dictionary of the APL Language в период с 1984 по 1987 год и в A Dictionary of the APL [87] в сентябре 1987 года. В рамках IPSA, фраза «словарь APL» стала использоваться для обозначения APL, указанного в « Словаре APL» , который сам называется «словарем». В словаре синтаксис APL контролируется таблицей 9х6, а процесс синтаксического анализа точно и кратко описан в таблице 2, а также существует примитив (монадический ⊥, смоделированный в APL) для словообразования ( лексинг ).

В 1970-х и 1980-х годах основными поставщиками APL были IBM , STSC и IPSA , и все трое активно занимались разработкой и расширением языка. У IBM был APL2, основанный на работе Джима Брауна . [88] [89] [90] Работа над APL2 продолжалась с перерывами в течение 15 лет, [29] фактическое кодирование началось в 1971 году, а APL2 стал доступен как IUP (установленная пользовательская программа, классификация продуктов IBM) в 1982 году. У STSC был экспериментальная система APL под названием NARS, разработанная и реализованная Бобом Смитом. [91] [92] NARS и APL2 фундаментально отличались от словаря APL, [93] и отличались друг от друга.

IP Sharp реализовал новые идеи APL поэтапно: комплексные числа, [94] закрытые (боксовые) массивы, операторы сопоставления и композиции в 1981 году, [95] детерминантный оператор в 1982 году, [96] и оператор ранга, связь и левая и правая тождественные функции в 1983 году. [97] Однако области применения операторов по-прежнему ограничивались примитивными функциями или их подмножествами. В 1986 году IPSA разработала SAX, [77] [98] SHARP APL/Unix, написанную на C и основанную на реализации STSC . Язык был такой, как указано в словаре, без ограничений по доменам операторов. Альфа-версия SAX стала доступна в IP Sharp примерно в декабре 1986 или начале 1987 года.

В сфере образования Айверсон разработал мини-курс SHARP APL [99] [100], используемый для обучения клиентов IPSA использованию APL, а также «Прикладную математику для программистов » [101] и «Математика и программирование » [102] , которые использовались на курсах информатики в TH. Твенте .

Кен Айверсон и Артур Уитни, 1989 год.

Публикации, автором или соавтором которых Айверсон работал в IP Sharp Associates :

Образование
Языковой дизайн и реализация

Jsoftware (1990–2004)

J неявный глагол для биномиальных коэффициентов [37] [109]
Эквивалентное вычисление Dyalog APL [110]

Айверсон ушел из IP Sharp Associates в 1987 году. Он был занят «между работой». Что касается дизайна языка, то наиболее значительной его деятельностью в этот период было изобретение «вилки» в 1988 году. [111] В течение многих лет он пытался найти способ записать f+g, как в исчислении, из «скалярных операторов». " в 1978 году, [73] через оператор "til" в 1982 году, [82] [86] операторы сцепления и изменения формы в 1984 году, [106] операторы объединения и пересечения в 1987 году, [87] "иго" в 1988 году, [112] и, наконец, форки в 1988 году. Форки определяются следующим образом:

Более того, (fgpqr) ←→ (fg (pqr)). Таким образом, чтобы написать f+g, как в исчислении, можно написать f+g в APL. Айверсон и Юджин МакДоннелл проработали детали длительных перелетов на конференцию APL88 в Сиднее, Австралия, и Айверсону пришла в голову первоначальная идея о пробуждении после сна. [85] [113] [81] : §1.3, §3.8 

Айверсон представил обоснование своей работы после 1987 года следующим образом: [16]

Когда я ушел с оплачиваемой работы, я снова обратил свое внимание на этот вопрос [использование APL для преподавания] и вскоре пришел к выводу, что необходимым инструментом является диалект APL, который:

• Доступна в виде условно-бесплатной версии и достаточно недорога, чтобы ее могли приобрести как учащиеся, так и школы.
• Можно распечатать на стандартных принтерах.
• Работает на самых разных компьютерах.
• Обеспечивает простоту и универсальность новейших идей в области APL.

Результатом стал J , о котором впервые сообщалось в [ материалах конференции APL 90 ]. [114]

Роджер Хуэй описал последний импульс, который положил начало J, в Приложении А к книге « Реализация J» : [115]

В один из летних выходных 1989 года Артур Уитни посетил Кена Айверсона на ферме Килн и подготовил — на одной странице и за один день — фрагмент интерпретатора на компьютере AT&T 3B1 . Я изучал этот интерпретатор около недели на предмет его организации и стиля программирования; а в воскресенье, 27 августа 1989 года, около четырех часов дня, написал первую строку кода, которая и стала реализацией, описанной в этом документе. Фрагмент одностраничного переводчика Артура выглядит следующим образом: ...

Хуэй, одноклассник Уитни в Университете Альберты , в перерывах между работой изучал «Словарь языка APL» , [4] смоделировал процесс синтаксического анализа, по крайней мере, двумя различными способами, [85] и исследовал использование словаря APL в разнообразные приложения. [116] Кроме того, с января 1987 года по август 1989 года он имел доступ к SAX, [77] и в конце этого периода использовал его ежедневно. [85]

Первоначально J использовал словарь APL [87] в качестве спецификации, а интерпретатор J был построен на основе таблицы 2 словаря. Структуры данных и программ C были разработаны таким образом, чтобы таблица синтаксического анализа C непосредственно соответствовала таблице синтаксического анализа в словаре. [85] Оглядываясь назад, можно сказать, что статья Айверсона APL87 APL87 , [107] на пяти страницах, описывает все основные этапы написания интерпретатора APL, в частности разделы, посвященные словообразованию и синтаксическому анализу. Артур Уитни , помимо «одностраничной вещи», внес свой вклад в развитие J, предложив, чтобы примитивы были ориентированы на ведущей оси, что соглашение (обобщение скалярного расширения) должно быть префиксом, а не суффиксом, [117] и что определить общий порядок массива. [118]

Одной из задач было реализовать fork. Это оказалось довольно простым благодаря включению в таблицу синтаксического анализа еще одной строки. Выбор внедрения форков был случайным и удачным. Лишь позже [119] [120] стало понятно , что разветвления делают неявные выражения (операторные выражения) завершенными в следующем смысле: любое предложение, содержащее один или два аргумента, которое не использует свои аргументы в качестве операнда, может быть записано молчаливо с помощью fork, compose, левая и правая тождественные функции и константные функции.

Двумя очевидными различиями между J и другими диалектами APL являются: (а) использование терминов из естественных языков, а не из математики или информатики (практика началась со « Словаря APL» ): существительное, глагол, наречия, алфавит, словообразование, предложение, ... вместо массива, функции, оператора, набора символов, лексики, выражения, ... ; и (б) использование 7-битных символов ASCII вместо специальных символов. Другие различия между J и APL описаны в J для APL Programmer [121] и APL и J. [122]

Исходный код J доступен на сайте Jsoftware по лицензии GNU General Public License версии 3 (GPL3) или по коммерческой альтернативе. [123]

Эрик Айверсон основал компанию Iverson Software Inc. в феврале 1990 года с целью создания улучшенного продукта SHARP APL/PC. Быстро стало очевидно, что существуют общие интересы и цели, и в мае 1990 года Айверсон и Хуэй присоединились к Iverson Software Inc.; позже к нему присоединился Крис Берк. Вскоре компания стала J only. В апреле 2000 года название было изменено на Jsoftware Inc. [85]

Кен Айверсон (справа) и Роджер Хуэй, 1996 год.

Публикации, автором или соавтором которых был Айверсон, когда он работал в Iverson Software Inc. и Jsoftware Inc.:

Образование
Языковой дизайн и реализация

Награды и отличия

Смотрите также

Рекомендации

  1. ^ abcde Айверсон, Кеннет Э. (август 1980 г.). «Нотация как инструмент мышления». Коммуникации АКМ . 23 (8): 444–465. дои : 10.1145/358896.358899 . Проверено 8 апреля 2016 г.
  2. ^ аб Кэмпбелл-Келли, Мартин (16 ноября 2004 г.). «Кеннет Айверсон». Независимый . Проверено 15 декабря 2022 г.
  3. ^ abcde Хуэй, Роджер , изд. (30 сентября 2005 г.), «Цитаты и анекдоты Кена Айверсона» , получено 12 февраля 2019 г.
  4. ^ abcdefghijk Айверсон, Кеннет Э.; Макинтайр, Дональд Э. (2008), Кеннет Э. Айверсон (Автобиография) , получено 8 апреля 2016 г.
  5. Айверсон, Эрик Б. (21 октября 2004 г.), доктор Кеннет Э. Айверсон (сообщение J Forum), заархивировано из оригинала 25 января 2020 г. , получено 8 апреля 2016 г.
  6. ^ Марш, Герман В.; Вольф, Генри К. (1917). Исчисление. МакГроу-Хилл.
  7. ^ Коэн, И. Бернард (1999). Говард Эйкен: Портрет пионера компьютерной техники . МТИ Пресс. ISBN 978-0-262-03262-9.
  8. ^ Аб Коэн, И. Бернард ; Уэлч, Грегори В., ред. (1999). Макинные цифры . МТИ Пресс. ISBN 978-0-262-03263-6.
  9. ^ Айверсон, Кеннет Э. (1954). Машинные решения линейных дифференциальных уравнений – приложения к динамической экономической модели (кандидатская диссертация). Гарвардский университет . Проверено 7 апреля 2016 г.
  10. ^ Хуэй, Роджер (август 2012 г.), "MSLDE", Jwiki Essay , получено 22 апреля 2016 г.
  11. Уитни, Артур (август 2006 г.), «Воспоминания о Кене», Vector , 22 (3) , получено 25 апреля 2016 г.
  12. ^ abc Cantrill, Брайан (февраль 2009 г.). «Разговор с Артуром Уитни». Очередь АКМ . 7 (2) . Проверено 7 апреля 2016 г.
  13. ^ Аб Айверсон, Кеннет Э. (август 1960 г.), «Описание конечных последовательных процессов», Симпозиум по теории информации , Королевский институт, Лондон , получено 9 апреля 2016 г.
  14. ^ Монтальбано, Майкл С. (октябрь 1982 г.), Личная история APL , получено 10 апреля 2016 г.
  15. ^ Айверсон, Кеннет Э. (июнь 1954 г.). Джейкобсон, Арвид В. (ред.). «Аспирантура и исследования». Материалы первой конференции по подготовке кадров для области вычислительной техники . Государственный университет Уэйна . Проверено 9 апреля 2016 г.
  16. ^ abc Айверсон, Кеннет Э. (декабрь 1991 г.). «Личный взгляд на APL». IBM Systems Journal . 30 (4): 582–593. дои : 10.1147/sj.304.0582 . Проверено 9 апреля 2016 г.
  17. ^ Брукс, Фредерик П. (август 2006 г.). «Язык, разум и человек». Вектор . 22 (3). дои : 10.1111/mila.2007.22.issue-3. Архивировано из оригинала 17 марта 2018 года . Проверено 16 марта 2018 г.
  18. ^ abcd Брукс младший, Фредерик П .; Айверсон, Кеннет Э. (1963). Автоматическая обработка данных . Уайли. ISBN 978-0-471-10599-2.
  19. ^ abc Фалькофф, Адин Д .; Айверсон, Кеннет Э. (август 1978 г.). «Эволюция APL». Уведомления ACM SIGPLAN . 13 (8): 47–57. дои : 10.1145/960118.808372 . S2CID  6050177 . Проверено 9 апреля 2016 г.
  20. ↑ abc Айверсон, Кеннет Э. (14 декабря 1983 г.), письмо Дж. К. Таттлу , получено 16 апреля 2016 г.
  21. ^ abcd Айверсон, Кеннет Э. (1962). Язык программирования. Джон Уайли и сыновья. ISBN 978-0-471-43014-8. Проверено 9 апреля 2016 г.
  22. ^ abcde Фалькофф, Адин Д .; Айверсон, Кеннет Э. (июль 1973 г.). «Дизайн АПЛ». Журнал исследований и разработок IBM . 17 (4): 324–334. дои : 10.1147/rd.174.0324 . Проверено 9 апреля 2016 г.
  23. ^ abc Фалькофф, Адин Д .; Айверсон, Кеннет Э.; Сассенгут, Эдвард Х. (1964). «Формальное описание System/360» (PDF) . IBM Systems Journal . 3 (3): 198–261. дои : 10.1147/sj.32.0198. Архивировано из оригинала 13 августа 2006 года.{{cite journal}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  24. ^ abcde Хуэй, Роджер , изд. (сентябрь 2010 г.), APL Quotations and Anecdotes, заархивировано из оригинала 5 июля 2018 г. , получено 9 апреля 2016 г.
  25. ^ abcd Breed, Ларри (август 2006 г.). «Как мы добрались до APL\1130». Вектор . 22 (3). Архивировано из оригинала 18 марта 2016 года . Проверено 13 апреля 2016 г.
  26. ^ Дженкинс, Майкл А. (июнь 1970 г.), «Решение линейных систем уравнений и линейных задач наименьших квадратов в APL», Номер технического отчета 320-2989 , IBM Corp.
  27. ^ Дженкинс, Майкл А. (10 февраля 1972 г.), «Домино - примитивная функция APL для обратной матрицы - ее реализация и приложения», APL Quote Quad , 3 (4)
  28. ^ Аб Макинтайр, Дональд Б. (август 2006 г.), «Дань Кену Айверсону», Vector , 22 (3) , получено 25 апреля 2016 г.
  29. ^ abcde Falkoff, Адин Д. (декабрь 1991 г.). «Семейство систем APL IBM». IBM Systems Journal . 30 (4): 416–432. дои : 10.1147/sj.304.0416.
  30. ^ Аб Абрамс, Филип С. (17 августа 1966 г.), «Интерпретатор «нотации Айверсона»» (PDF) , Технический отчет: CS-TR-66-47 , Департамент компьютерных наук, Стэнфордский университет , получено 17 апреля 2016 г.
  31. ^ Фалькофф, Адин Д .; Айверсон, Кеннет Э. (16 октября 1967 г.), «Терминальная система APL \ 360», отчет об исследовании RC-1922 , IBM , получено 9 апреля 2016 г.
  32. ^ Премия ACM Грейс Мюррей Хоппер (1973): Брид, Лэтвелл и Мур; получено 14 апреля 2016 г.
  33. ^ Хорват, Роберт В. (август 1966 г.). Введение в нотацию Айверсона . Отдел разработки систем IBM, Покипси, Нью-Йорк.
  34. ^ abc Макдоннелл, Юджин , изд. (1981), Справочник по APL, Введение, APL Press , получено 19 апреля 2016 г.
  35. ^ Брид, Ларри (сентябрь 1991 г.), «Первая терминальная сессия APL», APL Quote Quad , 22 (1): 2–4, doi : 10.1145/138094.140933 , S2CID  43138444
  36. ^ аб Фалькофф, Адин Д .; Айверсон, Кеннет Э. (1968). Руководство пользователя APL\360 (PDF) . ИБМ . Проверено 11 апреля 2016 г.
  37. ^ Аб Хуэй, Роджер (11 октября 2014 г.), Sixteen APL Amuse-Bouches , получено 12 апреля 2016 г.
  38. Перлис, Алан Дж. (29 марта 1978 г.), «Почти идеальные артефакты улучшаются лишь в незначительной степени: APL больше французский, чем английский», Материалы конференции APL 78 , получено 12 апреля 2016 г.
  39. ^ abcd Фалькофф, Адин Д. (июль 1969 г.), «История APL \ 360», Материалы конференции пользователей APL в SUNY Binghamton , получено 9 апреля 2016 г.
  40. ^ Айверсон, Кеннет Э. (1966), Соглашения, регулирующие порядок оценки (Приложение A к «Элементарные функции: алгоритмическая обработка»), Science Research Associates , получено 16 апреля 2016 г.
  41. ^ Айверсон, Кеннет Э. (1972), Алгебра как язык (Приложение A к книге «Алгебра: алгоритмическое лечение»), Аддисон-Уэсли , получено 16 апреля 2016 г.
  42. ^ аб Айверсон, Кеннет Э. (март 1966 г.). Элементарные функции: алгоритмическая трактовка . Ассоциация научных исследований.
  43. ^ Макдоннелл, Юджин (декабрь 1979 г.), «Социально-техническое начало APL», APL Quote Quad , 10 (2): 13, doi : 10.1145/586148.586155 , S2CID  18025422 , получено 24 апреля 2016 г.
  44. ^ Голдсмит, Лесли Х., Хуэй, Роджер (ред.), APL Quotations and Anecdotes, заархивировано из оригинала 5 июля 2018 г. , получено 13 апреля 2016 г.
  45. ^ Макдоннелл, Юджин (сентябрь 1980 г.). «Рекреационная АПЛ, Пирамиграмма». APL Котировка Quad . 11 (1) . Проверено 13 апреля 2016 г.
  46. ^ «APL в государственных школах Атланты», Информационный бюллетень SHARE*APL\360 (3), октябрь 1969 г.
  47. ^ APL IV: Четвертая международная конференция APL, июнь 1972 г. , получено 29 апреля 2016 г.
  48. ^ Бьянкуцци, Федерико; Надзиратель, Шейн (март 2009 г.). Мастера программирования. О'Рейли Медиа. Архивировано из оригинала 5 июля 2018 года . Проверено 13 апреля 2016 г.
  49. ^ abc «Айверсон получает премию Гарри Гуда» . APL Котировка Quad . 6 (2). Июнь 1975 года . Проверено 8 апреля 2016 г.
  50. Берри, Пол (август 2006 г.), «Пояснительное программирование», Vector , 22 (3) , получено 25 апреля 2015 г.
  51. ^ Берри, Пол; Бартоли, Г.; Делл'Акуила, К.; Спадавеккья, В. (март 1973 г.). «APL и Инсайт». ТР № ЦРБ 002/513-3502 . Корпорация IBM
  52. ^ Спенс, Роберт (март 1973 г.). Теория резистивных цепей . ИБМ.
  53. ^ Орт, Дональд Л. (1976). Исчисление в новом ключе . АПЛ Пресс. ISBN 978-0-917326-05-9.
  54. ^ Берри, Пол; Торстенсен, Джон (1973). «Звездная карта». ТР № 02.665 . Корпорация IBM
  55. ^ Айверсон, Кеннет Э. (1969), Использование APL в обучении, IBM Pub. № G320-0996 , получено 15 апреля 2016 г.
  56. ^ Берри, Пол; Фалькофф, Адин Д .; Айверсон, Кеннет Э. (24 августа 1970 г.). «Использование компьютера для вычислений: прямой, но игнорируемый подход к преподаванию математики». Всемирная конференция ИФИП по компьютерному образованию .
  57. ^ Айверсон, Кеннет Э. (1972), Алгебра: алгоритмическое лечение , Аддисон-Уэсли
  58. ^ Айверсон, Кеннет Э. (январь 1972 г.), «APL в экспозиции» (PDF) , номер технического отчета RC 320-3010 , Научный центр IBM в Филадельфии , получено 9 апреля 2016 г.
  59. ^ Айверсон, Кеннет Э. (март 1973 г.), «Введение в APL для ученых и инженеров», номер технического отчета RC 320-3019 , Научный центр IBM в Филадельфии , получено 9 апреля 2016 г.
  60. ^ Айверсон, Кеннет Э. (июль 1972 г.), «Представляем APL учителям», номер технического отчета RC 320-3014 , Научный центр IBM в Филадельфии , получено 9 апреля 2016 г.
  61. ^ Айверсон, Кеннет Э. (1976), Элементарный анализ , APL Press
  62. ^ Айверсон, Кеннет Э. (сентябрь 1978 г.). «Стиль программирования в APL». Материалы собрания пользователей APL . ИП Шарп Ассошиэйтс . Проверено 9 апреля 2016 г.
  63. ^ Айверсон, Кеннет Э. (май 1962 г.). «Язык программирования». Материалы весенней совместной компьютерной конференции AFIPS, Сан-Франциско . Проверено 13 апреля 2016 г.
  64. ^ Айверсон, Кеннет Э. (декабрь 1962 г.). «Общий язык для оборудования, программного обеспечения и приложений». Материалы осенней совместной компьютерной конференции AFIPS, Филадельфия . Проверено 13 апреля 2016 г.
  65. ^ Айверсон, Кеннет Э. (июнь 1963 г.). «Программирование обозначений в проектировании систем». IBM Systems Journal . 2 (2): 117–128. дои : 10.1147/sj.22.0117 . Проверено 13 апреля 2016 г.
  66. ^ Айверсон, Кеннет Э. (февраль 1964 г.). «Формализм в языках программирования». Коммуникации АКМ . 7 (2): 80–88. дои : 10.1145/363921.363933 . S2CID  14145756 . Проверено 13 апреля 2016 г.
  67. ^ Айверсон, Кеннет Э. (октябрь 1964 г.). «Метод спецификации синтаксиса». Коммуникации АКМ . 7 (10): 588–589. дои : 10.1145/364888.364969. S2CID  194665.
  68. ^ Фалькофф, Адин Д .; Айверсон, Кеннет Э. (май 1973 г.). «Связь в APL-системах». Технический отчет 320-3022 . Научный центр IBM в Филадельфии.
  69. ^ Айверсон, Кеннет Э. (1973). APL как аналитическая нотация . Научный центр IBM в Филадельфии.
  70. ^ Фалькофф, Адин Д .; Айверсон, Кеннет Э. (1973). «Руководство пользователя APLSV» (PDF) . Ш20-1460 . Научный центр IBM в Филадельфии . Проверено 16 апреля 2016 г.
  71. ^ Фалькофф, Адин Д .; Айверсон, Кеннет Э. (март 1975 г.). Язык APL (форма № GC26-3847) (PDF) . ИБМ.
  72. ^ Айверсон, Кеннет Э. (сентябрь 1976 г.), «Два комбинаторных оператора», Материалы конференции APL 76 : 233–237, doi : 10.1145/800114.803681, S2CID  20408139
  73. ^ abc Айверсон, Кеннет Э. (26 апреля 1978 г.), «Операторы и функции», отчет об исследовании № RC7091 , IBM , получено 9 апреля 2016 г.
  74. ^ Айверсон, Кеннет Э. (июнь 1979 г.), «Роль операторов в APL», Материалы конференции APL 79 , получено 10 апреля 2016 г.
  75. ^ Айверсон, Кеннет Э. (июнь 1979 г.), «Производный оператор», Материалы конференции APL 79
  76. ^ Айверсон, Кеннет Э. (октябрь 1979 г.). «Операторы». Транзакции ACM в языках и системах программирования . 1 (2): 161–176. дои : 10.1145/357073.357074 .
  77. ^ abc Стейнбрук, Дэвид Х. (1986). Справочник по SAX . ИП Шарп Ассошиэйтс .
  78. ^ Хуэй, Роджер (август 2010 г.). "В среднем". Вектор . 22 (4) . Проверено 12 апреля 2016 г.
  79. ^ IPSA (январь 1980 г.). «Доктор Кеннет Э. Айверсон» (PDF) . Информационный бюллетень IP Sharp . 8 (1) . Проверено 8 августа 2019 г.
  80. ^ Хуэй, Роджер , изд. (14 мая 2009 г.), Цитаты и анекдоты Юджина Макдоннелла , получено 5 апреля 2016 г.
  81. ^ Аб Хуэй, Роджер; Кромберг, Мортен (июнь 2020 г.). «АПЛ с 1978 года». Труды ACM по языкам программирования . 4 (ХОПЛ): 1–108. дои : 10.1145/3386319 . S2CID  218517570.
  82. ^ abc Айверсон, Кеннет Э. и Артур Т. Уитни (сентябрь 1982 г.), «Практическое использование модели APL», Материалы конференции APL 82 , получено 10 апреля 2016 г.
  83. ^ Аб Айверсон, Кеннет Э. (март 1983 г.), «Синтаксис и семантика APL», Материалы конференции APL 83 , получено 10 апреля 2016 г.
  84. Празднование Кеннета Айверсона, Музей истории компьютеров , 30 ноября 2004 г. , дата обращения 17 апреля 2016 г.
  85. ^ abcdef Хуэй, Роджер (ноябрь 2014 г.), Вспоминая Кена Айверсона , получено 10 апреля 2016 г.
  86. ^ abc Iverson, Кеннет Э. (6 января 1983 г.), Rationalized APL, IP Sharp Associates , получено 10 апреля 2016 г.
  87. ^ abcd Айверсон, Кеннет Э. (сентябрь 1987 г.), «Словарь APL», APL Quote Quad , 18 (1): 5–40, doi : 10.1145/36983.36984, S2CID  18301178 , получено 10 апреля 2016 г.
  88. ^ Браун, Джеймс А. (1971). Обобщение APL (кандидатская диссертация). Кафедра компьютерных и информационных наук Сиракузского университета.
  89. ^ Браун, Джеймс А. (1984), «Принципы APL2», Технический отчет 03.247 , Лаборатория IBM в Санта-Терезе.
  90. ^ Браун, Джеймс А. (1988), «Программирование APL2: справочник языка», Sh20-9227 , IBM Corporation
  91. ^ Смит, Роберт А. (сентябрь 1981 г.). «Вложенные массивы, операторы и функции». Материалы конференции APL 81 .
  92. ^ Чейни, Карл М. (1981), Система вложенных массивов APL * PLUS (PDF) , STSC, Inc. , получено 19 апреля 2016 г.
  93. ^ Орт, Дональд Л. (декабрь 1981 г.). «Сравнение реализаций операторов и общих массивов IPSA и STSC». APL Котировка Quad . 12 (2): 11. дои : 10,1145/586656,586662. S2CID  1642446 . Проверено 13 апреля 2016 г.
  94. ^ Макдоннелл, Юджин (20 июня 1981 г.). "Комплексные числа". SATN 40, IP Sharp Associates . Проверено 11 апреля 2016 г.
  95. ^ аб Айверсон, Кеннет Э. (20 июня 1981 г.). «Композиция и вложение». SATN 41, IP Sharp Associates . Проверено 11 апреля 2016 г.
  96. ^ аб Айверсон, Кеннет Э. (1 апреля 1982 г.). «Функции, подобные детерминанту, создаваемые точечным оператором». SATN 42, IP Sharp Associates . Проверено 11 апреля 2016 г.
  97. ^ аб Бернеки, Роберт; Айверсон, Кеннет Э.; Макдоннелл, Юджин ; Мецгер, Роберт; Шулер, Ж. Анри (2 мая 1983 г.). «Языковые расширения мая 1983 года». SATN 45, IP Sharp Associates . Проверено 11 апреля 2016 г.
  98. Таттл, Джои К. (август 2006 г.), «Что не так с моим программированием?», Vector , 22 (3) , получено 25 апреля 2016 г.
  99. ^ Аб Айверсон, Кеннет Э. (6 октября 1980 г.), «Индуктивный метод внедрения APL», Протоколы собрания пользователей APL 1980 г. , получено 10 апреля 2016 г.
  100. ^ аб Айверсон, Кеннет Э. (январь 1981 г.). Мини-курс SHARP APL . ИП Шарп Ассошиэйтс .
  101. ^ аб Айверсон, Кеннет Э. (1984). Прикладная математика для программистов . ИП Шарп Ассошиэйтс .
  102. ^ аб Айверсон, Кеннет Э. (июль 1986 г.). Математика и программирование . ИП Шарп Ассошиэйтс .
  103. ^ Бернеки, Роберт; Айверсон, Кеннет Э. (6 октября 1980 г.), «Операторы и закрытые массивы», Протоколы собрания пользователей APL 1980 г. , получено 10 апреля 2016 г.
  104. ^ Айверсон, Кеннет Э. (октябрь 1980 г.). «Прямое определение». SATN 36, IP Sharp Associates .
  105. ^ Айверсон, Кеннет Э.; Вустер, Питер К. (сентябрь 1981 г.), «Оператор определения функции», Материалы конференции APL 81 , 12 : 142–145, doi : 10.1145/390007.805349
  106. ^ аб Айверсон, Кеннет Э.; Пеш, Роланд Х.; Шуелер, Дж. Анри (июнь 1984 г.), «Операторное исчисление», Материалы конференции APL 84 , получено 10 апреля 2016 г.
  107. ^ Аб Айверсон, Кеннет Э. (май 1987 г.), "APL87", Материалы конференции APL 87 , получено 10 апреля 2016 г.
  108. ^ Хагамен, WD; Берри, ПК; Айверсон, Кентукки; Вебер, Дж. К. (август 1989 г.). «Обработка синтаксических и семантических механизмов естественного языка». Материалы конференции APL как инструмент мышления — APL '89 . Материалы конференции по APL как инструменту мышления - APL '89. Том. 19. стр. 184–189. дои : 10.1145/75144.75170. ISBN 0897913272. S2CID  14004227. {{cite book}}: |journal=игнорируется ( помощь )
  109. Хуэй, Роджер (3 декабря 2014 г.). «Любимое выражение APL Кена Айверсона?». Диалог блог . Проверено 12 апреля 2016 г.
  110. ^ Справочник по языку Dyalog APL (версия 14.0 или более поздняя) (PDF) , Dyalog Limited, 2014 г. , дата обращения 16 апреля 2016 г.
  111. ^ Аб Айверсон, Кеннет Э. и Юджин МакДоннелл (август 1989 г.), «Фразовые формы», Материалы конференции APL 89 , получено 10 апреля 2016 г.
  112. ^ аб Айверсон, Кеннет Э. (сентябрь 1988 г.). «Комментарий к развитию APL». APL Котировка Quad . 19 (1): 3–8. дои : 10.1145/379279.379330. S2CID  18392328 . Проверено 13 апреля 2016 г.
  113. Ходжкинсон, Роб (19 октября 2017 г.), сообщение на форуме J Programming Forum
  114. ^ Аб Хуэй, Роджер ; Айверсон, Кеннет Э.; Макдоннелл, Юджин ; Уитни, Артур (июль 1990 г.), "APL/?", Материалы конференции APL 90 , получено 10 апреля 2016 г.
  115. Хуэй, Роджер (27 января 1992 г.). Реализация J (PDF) . Айверсон Программное обеспечение Inc. Проверено 10 апреля 2016 г. .
  116. ^ Хуэй, Роджер (май 1987 г.). «Некоторые варианты использования { и }». Материалы конференции APL 87 . Проверено 15 апреля 2016 г.
  117. ^ Хуэй, Роджер (июнь 1995 г.). «Ранг и единообразие». Материалы конференции APL 95 . Проверено 15 апреля 2016 г.
  118. Хуэй, Роджер (27 января 2006 г.), «ТАО J», J Wiki Essay , получено 24 мая 2016 г.
  119. ^ Аб Хуэй, Роджер ; Айверсон, Кеннет Э.; Макдоннелл, Юджин (август 1991 г.), «Негласное определение», Материалы международной конференции по APL '91 - APL '91, стр. 202–211, doi : 10.1145/114054.114077 , ISBN 0897914414, S2CID  8940369 , получено 10 апреля 2016 г.
  120. ^ Черлин, Эдвард (август 1991 г.). «Чистые функции в APL и J». Материалы международной конференции по APL'91-APL'91 . стр. 88–93. дои : 10.1145/114054.114065. ISBN 0897914414. S2CID  25802202.
  121. ^ Берк, Крис; Хуэй, Роджер (сентябрь 1996 г.). «J для программиста APL». APL Котировка Quad . 27 (1): 11–17. дои : 10.1145/1151395.1151400 . S2CID  9203778 . Проверено 14 апреля 2016 г.
  122. Берк, Крис (2 марта 2005 г.), APL and J (PDF) , получено 16 апреля 2016 г.
  123. ^ J Source, Jsoftware, Inc. , получено 15 апреля 2016 г.
  124. ^ Айверсон, Кеннет Э. (1991). Осязаемая математика . Айверсон Программное обеспечение Inc.
  125. ^ Айверсон, Кеннет Э. (1991). Программирование на языке J. Айверсон Программное обеспечение Inc.
  126. ^ Айверсон, Кеннет Э. (1991). Арифметика (PDF) . Айверсон Программное обеспечение Inc. Проверено 10 апреля 2016 г. .
  127. ^ Айверсон, Кеннет Э. (1993). Исчисление (PDF) . Айверсон Программное обеспечение Inc. Проверено 10 апреля 2016 г. .
  128. ^ Айверсон, Кеннет Э. (1995). Помощник по конкретной математике (PDF) . Айверсон Программное обеспечение Inc. Проверено 10 апреля 2016 г. .
  129. ^ Айверсон, Кеннет Э. (1996). Изучение математики (PDF) . Айверсон Программное обеспечение Inc. Проверено 10 апреля 2016 г. .
  130. ^ Берк, Крис; Хуэй, Роджер ; Айверсон, Кеннет Э.; Макдоннелл, Юджин ; Макинтайр, Дональд Б. (1996). J-фразы. Айверсон Программное обеспечение Inc. Проверено 10 апреля 2016 г. .
  131. ^ Берк, Крис; Хуэй, Роджер ; Айверсон, Эрик; Айверсон, Кеннет Э.; Айверсон, Кирк (1998), победители конкурса ICFP '98 , данные получены 15 апреля 2016 г.
  132. ^ Айверсон, Кеннет Э. (1999). Математика для непрофессионала. Компания JSoftware Inc. Проверено 10 апреля 2016 г. .
  133. ^ Хуэй, Роджер ; Айверсон, Кеннет Э. (1991). «J Введение и словарь». Компания Jsoftware Inc. Проверено 9 апреля 2016 г.
  134. ^ Айверсон, Кеннет Э. (март 1994 г.). «Возвращение к трудным местам». APL Котировка Quad . 24 (3): 13–16. дои : 10.1145/181983.181986 . S2CID  2140469 . Проверено 13 апреля 2016 г.
  135. ^ Айверсон, Кеннет Э. (1996), Компьютеры и математическая нотация, Iverson Software Inc. , получено 10 апреля 2016 г.
  136. ^ Хуэй, Роджер ; Айверсон, Кеннет Э. (январь 1998 г.), «Математические корни J», Материалы конференции APL 97 : 21–30, doi : 10.1145/316689.316698, S2CID  2317632
  137. Айверсон, Кеннет Э. (август 2006 г.), «APL в новом тысячелетии», Vector , 22 (3) , получено 25 апреля 2016 г.
  138. ^ Справочник членов NAE, Национальная инженерная академия , получено 22 апреля 2016 г.
  139. ^ Премия Computer Pioneer Award (получатель устава), IEEE Computer Society , 1982 г. , получено 8 апреля 2016 г.
  140. Драммонд, Б. (11 июня 1998 г.), Цитата для доктора Кеннета Айверсона, Йоркский университет , получено 8 апреля 2016 г.
  141. ^ Ковтунович, Василий Н.; Устюжанин, Петр Я. (2015). «Новый вид плюмажной моли рода Agdistis Hübner, 1825 (Lepidoptera: Pterophoridae: Agdistinae) из южной Африки». Африканские беспозвоночные . 56 (1): 137–139. Бибкод : 2015АфрикаВ..56..137K. дои : 10.5733/afin.056.0110. Вид назван в честь Кеннета Юджина Айверсона (1920–2004), канадского ученого-компьютерщика, разработавшего языки программирования APL и J.

Внешние ссылки