Алан Джей Перлис родился 1 апреля 1922 года. Известен как американский учёный в области компьютерных технологий, автор работ в области языков программирования и первый лауреат премии Тьюринга.
Биография
Алан родился в Питсбурге (штат Пенсильвания) в семье евреев.
После обучения в технологическом институте Карнеги (сегодня университет Карнеги–Меллон) Перлис в 1943 году получил степень бакалавра по химии. Математикой алан заинтересовался, когда служил в армии США во времена Второй мировой войны. В 1949 году получил степень магистра доктора философии в Массачусетском технологическом институте.
В 1952 году участвовал в проекте Whirlwind. Преподавательскую деятельность начал с университета Пердью и продолжил в институте Карнеги с 1956 года. Состоял на кафедре математики, впоследствии став первым заведующим кафедры информатики. В 1962 году Перлис занял должность президента ассоциации вычислительной техники.
Работая в группе, которая разработала язык программирования Алгол, в 1966 году Алана Перлиса награждают премией Тьюринга за «создание компиляторов и влияние в области передовых методов программирования».
Перлис в 1971 году продолжает свою деятельность в Йельском университете на кафедре компьютерных наук. В 1977 году его избирают в National Academy of Engineering.
В 1982 году Перлис пишет статью «Эпиграммы о программировании», где одним предложением описывает сущности многих вещей, которые были изучены им о программировании. Эти эпиграммы цитируются до сегодняшнего дня.
Умер Алан Перлис в возрасте 67 лет 7 февраля 1990 года.
Награды
В 1966 году Алан Перлис становится первым лауреатом премии Тьюринга. В 1984 году был удостоен образовательной премии AFIPS.
Цитаты
- То, что для одного человека является константой, для другого – переменной.
- Структурировать данные необходимо как можно позже в процессе программирования.
- Симметрия является концепцией, которая сокращает сложность (сопрограммы включают подпрограммы); ищите ее везде.
- Легче написать неправильную программу, чем разобраться в правильной.
- Лучше в 100 функциях использовать одну структуру данных, чем в 10 функциях – 10 структур.
- Если ваша процедура содержит 10 параметров, скорее всего вы что-то упустили.
- Рекурсия является основой программирования, так как она позволяет сократить время написания программы.
- Каждая программа имеет (как минимум) два назначения: Что она должна выполнять и чего не должна.
- Программы без ошибок могут быть написаны двумя способами, но рабочим оказывается третий.
- Некоторыми языками программирования допускаются изменения, но они сопротивляются прогрессу.
- Иногда мне кажется, что единственное универсальное средство программировании – цикл.
- Программирование является игрой слов, как и каламбур.
- Легче внести изменения в спецификацию, чтобы она соответствовала программе, чем наоборот.
- Не стоит путать: Машинами обрабатываются числа, а не символы. Мы измеряем свое понимание (и контроль) с помощью степени арифметизации деятельности.
- Через пять лет мы будем иметь один супер язык программирования, но мы не можем определить начало этого пятилетнего периода.
- Невозможно научиться программированию, используя ручной калькулятор, но забыть арифметику – можно.
- Машины скорее позволяют обнаружить наличие беспорядка, чем навести порядок.
- Редактирование является выражением того же, но с помощью других слов.
- Для машин не естественны естественные языки.