Уилер, Дэвид (информатик)
Дэвид Джон Уилер (англ. David John Wheeler; 9 февраля 1927[6], Бирмингем, Уорикшир, Англия, Великобритания[7] — 13 декабря 2004[8], Кембридж, Англия, Великобритания) — английский информатик и профессор информатики в Кембриджском университете[9][10][11][12][13]. Известен изобретением подпрограмм, преобразования Барроуза — Уилера (BWT)[14], алгоритма шифрования TEA[15], перехода Уилера[16], шифра WAKE и работой над EDSAC[17].
Общие сведения
| Дэвид Уилер | |
|---|---|
| англ. David Wheeler | |
| Имя при рождении | Дэвид Джон Уилер |
| Дата рождения | 9 февраля 1927 |
| Место рождения | Бирмингем, Англия |
| Дата смерти | 13 декабря 2004 (77 лет) |
| Место смерти | Кембридж, Англия |
| Страна | |
| Образование | |
| Род деятельности | информатика |
| Награды и премии |
Член Лондонского королевского общества (1981) |
Образование
Уилер родился в Бирмингеме, Англия. Он был вторым из трёх детей Агнес Марджори (в девичестве Гаджон) и Артура Уилера, изготовителя пресс-инструментов, инженера и владельца небольшой фирмы по оборудованию магазинов[18]. Учился в местной начальной школе в Бирмингеме. В 1938 году получил стипендию и перешёл в школу короля Эдуарда VI Кэмп-Хилл для мальчиков. Его образование было прервано Второй мировой войной. Он завершил обучение в шестом классе в средней школе Хэнли в Сток-он-Тренте[18]. В 1945 году получил стипендию для изучения математики в Тринити-колледже Кембриджского университета. Окончил обучение в 1948 году. В 1951 году получил первую в мире[19] степень доктора философии в области информатики[19][20]. Тема диссертации — «Автоматические вычисления с помощью EDSAC» (Automatic Computing With EDSAC).
Карьера
Вклад Уилера в информатику включает работу над EDSAC в 1950-х годах[21] и преобразование Барроуза — Уилера (опубликовано в 1994 году). Вместе с Морисом Уилксом и Стэнли Гиллом он считается изобретателем подпрограммы (которую они называли «закрытой подпрограммой») около 1951 года. Он дал первое объяснение того, как проектировать библиотеки программного обеспечения[16]. В результате инструкция «переход к подпрограмме» часто называлась переходом Уилера. В 1953 году Уилкс опубликовал статью, в которой обсуждалась относительная адресация для облегчения использования подпрограмм[22]. (Однако Алан Тьюринг обсуждал подпрограммы в статье 1945 года о предложениях по проектированию ACE, дойдя до изобретения концепции стека адресов возврата).
Уилер отвечал за реализацию компьютера CAP, первого компьютера, основанного на возможностях безопасности. В криптографии он был разработчиком шифра WAKE и соразработчиком алгоритмов шифрования TEA и XTEA вместе с Роджером Нидхэмом. В 1950 году вместе с Морисом Уилксом он использовал EDSAC для решения дифференциального уравнения, связывающего частоты генов, в статье Рональда Фишера[23]. Это представляет собой первое использование компьютера для решения проблемы в области биологии.
В 1964 году он стал членом колледжа Дарвина в Кембридже. Формально вышел на пенсию в 1994 году, но продолжал оставаться активным членом Компьютерной лаборатории Кембриджского университета до своей смерти.
Личная жизнь
24 августа 1957 года Уилер женился на студентке-исследователе астрофизики Джойс Маргарет Блэклер. Она использовала EDSAC для своих собственных математических исследований в качестве студентки-исследователя с 1955 года. У них было две дочери и сын.
Уилер умер от сердечного приступа 13 декабря 2004 года, возвращаясь домой на велосипеде из Компьютерной лаборатории[18].
Признание и наследие
Уилер:
- В 1981 году был избран членом Королевского общества.
- В 1985 году получил премию Пионер компьютерной техники за вклад в программирование на языке ассемблера.
- В 1994 году был принят в члены Ассоциации вычислительной техники.
- В 2003 году был назван лауреатом премии Музея компьютерной истории «за изобретение закрытой подпрограммы и за архитектурный вклад в ILLIAC, Cambridge Ring и компьютерное тестирование»[1].
Компьютерная лаборатория Кембриджского университета ежегодно проводит «Лекцию Уилера» — серию выдающихся лекций, названных в его честь[24].
Цитаты
Уилеру часто приписывают высказывание: «Все проблемы в информатике можно решить с помощью ещё одного уровня косвенности»[25] или «Все проблемы в информатике можно решить с помощью ещё одного уровня косвенности, за исключением проблемы слишком большого количества уровней косвенности»[26]. Это было названо основной теоремой программной инженерии.
Ещё одна цитата, приписываемая ему: «Совместимость означает намеренное повторение чужих ошибок»[27].