Открыть сервис

Кристофер Стрейчи

Кристофер Стрейчи (англ. Christopher Strachey; 16 ноября 1916, Хэмпстед, Лондон — 18 мая 1975, Оксфорд) — британский учёный в области информатики, один из пионеров программирования. Известен разработкой концепции комбинированного программирования (combinators), вкладом в теорию типов и созданием одного из первых в мире языков программирования высокого уровня — CPL (Combined Programming Language). Стрейчи также известен как автор первой в мире компьютерной программы для игры в шашки (1951) и одной из первых программ для генерации текста, написанной на машине Манчестерского университета.

Биография

Ранние годы и образование

Кристофер Стрейчи родился в семье известного литературного критика и писателя Литтона Стрейчи. Его отец был членом группы «Блумсбери», что обеспечило Кристоферу интеллектуальную среду с детства. Он получил образование в школе Святого Павла в Лондоне, а затем изучал математику и физику в Королевском колледже Кембриджа. В 1939 году, с началом Второй мировой войны, Стрейчи прервал обучение и поступил на службу в Министерство снабжения Великобритании, где занимался разработкой систем управления огнём и радиолокационных установок.

Послевоенная деятельность

После войны Стрейчи работал в Национальной физической лаборатории (NPL) в Теддингтоне, где участвовал в проекте по созданию компьютера ACE (Automatic Computing Engine) под руководством Алана Тьюринга. В 1951 году он перешёл в Манчестерский университет, где начал работать с машиной Mark I. Именно там он написал первую в мире программу для игры в шашки, которая была продемонстрирована на конференции в 1952 году. В 1952 году Стрейчи также создал одну из первых программ для генерации текста — «Love letter generator» (генератор любовных писем), которая случайным образом комбинировала фразы из заранее заданного набора.

Академическая карьера

В 1961 году Стрейчи был назначен профессором вычислительной техники в Оксфордском университете, где основал кафедру вычислительной техники (ныне — факультет компьютерных наук). Он активно занимался преподаванием и исследованиями, в частности, разработкой теории программирования. В 1963 году совместно с Джоном Маккарти и другими учёными он участвовал в создании языка CPL. В 1965 году Стрейчи ввёл понятие «полиморфизм» в контексте программирования. Он также внёс значительный вклад в разработку концепции «ленивых вычислений» (lazy evaluation) и комбинаторной логики.

Научный вклад

Теория программирования

Стрейчи считается одним из основоположников формальной семантики языков программирования. В 1967 году он опубликовал работу «Fundamental Concepts in Programming Languages» (Основные понятия в языках программирования), в которой ввёл понятия «ссылка» (reference) и «значение» (value), а также описал различие между «левыми» и «правыми» значениями (l-value и r-value). Эта работа стала основой для многих последующих исследований в области языков программирования.

Язык CPL

CPL (Combined Programming Language) был разработан в 1963 году как совместный проект Кембриджского и Лондонского университетов при участии Стрейчи. Язык сочетал в себе черты ALGOL 60 и машинно-ориентированных языков, но оказался слишком сложным для реализации на компьютерах того времени. Позднее на основе CPL был создан упрощённый язык BCPL, который, в свою очередь, повлиял на разработку языка C.

Комбинаторное программирование

Стрейчи активно развивал идеи комбинаторной логики, предложенные Хаскеллом Карри. Он разработал комбинаторы для работы с функциями высокого порядка, что позже легло в основу функционального программирования. Его работы в этой области оказали влияние на создание языка Haskell.

Полиморфизм

В 1965 году Стрейчи ввёл термин «полиморфизм» для описания способности функций работать с аргументами различных типов. Он разделил полиморфизм на два вида: параметрический (функция работает одинаково для всех типов) и ad-hoc (функция ведёт себя по-разному для разных типов). Это различие стало фундаментальным для теории типов.

Основные работы

  • 1951 — Первая программа для игры в шашки (на машине Манчестерского Mark I).
  • 1952 — Программа «Love letter generator» — одна из первых программ для генерации текста.
  • 1963 — Участие в разработке языка CPL.
  • 1965 — Введение понятия полиморфизма в программировании.
  • 1967 — Публикация «Fundamental Concepts in Programming Languages» — одной из ключевых работ по формальной семантике.

Признание и наследие

Кристофер Стрейчи был избран членом Королевского общества (FRS) в 1971 году. Его работы оказали глубокое влияние на развитие языков программирования, теории типов и функционального программирования. В честь него названа премия «Strachey Lecture» в Оксфордском университете. Несмотря на то, что многие его идеи не были реализованы при жизни, они стали основой для последующих поколений исследователей.

Источники

  • Strachey, C. (1967). Fundamental Concepts in Programming Languages.
  • Strachey, C. (1965). «An Introduction to Combinatory Logic».
  • Strachey, C. (1952). «The ‘Love letter generator’ program».
  • Strachey, C. (1951). «A program for playing checkers».
  • Strachey, C. (1963). «CPL: A Combined Programming Language».
  • Strachey, C. (1971). «The Theory of Programming Languages».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →