Два учёных стали отцами всех современных компиляторов и за это получили по полмиллиона долларов каждый.
У физиков и литераторов есть Нобелевская премия, а в Computer Science есть премия Тьюринга. Для учёного в области информатики это самая престижная награда. И именно такую премию получили два учёных — Альфред Ахо и Джеффри Ульман. В официальной формулировке — за создание компилятора. Правда, компиляторы существовали и до них, а сами учёные не написали ни одного. Так за что же они получили премию Тьюринга? Давайте разбираться.
Кто такие эти учёные
Альфред Вайно Ахо — профессор Колумбийского университета. К моменту получения премии он уже успел 30 лет проработать в Bell Labs, где занимался исследованиями по Computer Science. У Ахо докторская степень Принстонского университета по электротехнике и информатике, а среди его наград — медаль IEEE им. Джона фон Неймана и приз NEC C&C Foundation.
Джеффри Дэвид Ульман — профессор Стэнфордского университета и генеральный директор Gradiance Corporation. Преподаёт с 1979 года, в числе его наград — медаль IEEE им. Джона фон Неймана, премия Дональда Кнута, а также премии NEC C&C Foundation и ACM SIGMOD. Ульман состоит в Национальной инженерной академии США, Американской академии искусств и Национальной академии наук.
За что им дали премию
Официальная формулировка звучит так:
«За фундаментальные алгоритмы и теорию, лежащую в основе реализации языков программирования, а также за синтез этих и других результатов в книгах собственного авторства, которые имели большое влияние и обучили несколько поколений учёных».
Звучит непонятно, поэтому переводим на русский: современные приложения пишутся на высокоуровневых языках программирования — например, на Java или Python. Но компьютер не понимает их синтаксис, ему нужно особое представление кода — низкоуровневое, состоящее из команд, которые процессор способен распознать.
Компилятор как раз переводит понятный нам язык программирования в машинный код / команды процессора. Он руководствуется набором правил и алгоритмов — сначала эти правила обосновываются теоретически, обсуждаются научным сообществом, и только потом они начинают использоваться на практике для создания компиляторов. И вот именно за теоретическое обоснование — причём ёмкое и практичное — Ахо и Ульман получили награду.
Как Ахо и Ульман «придумали» компилятор
Учёные начали исследовать алгоритмы ещё в 1967 году в Bell Labs — и продолжали на протяжении нескольких десятилетий после.
В те времена компьютерам требовалось постоянное обслуживание — этим занимались целые команды математиков и других специалистов.
Ахо и Ульман начали преподавать свою теорию в университетах и параллельно работать над исследованиями. Они написали несколько книг, которые впоследствии стали легендарными в сообществе программистов:
Написанная авторами книга с драконами до сих пор остаётся классической теоретической работой по компиляторам. И всё же самое главное достижение Ахо и Ульмана — это теоретические основы для компиляторов современных языков высокого уровня.
Сегодня Альфред Ахо продолжает работать в Bell Labs и читать лекции в Колумбийском университете, а Джеффри Ульман преподаёт в Стэнфорде и работает в Gradiance Corporation.
***
Чтобы не пропустить другие материалы о программировании, об истории IT и искусственном интеллекте, подпишитесь на канал. Ставьте лайки, чтобы видеть больше таких статей у себя в ленте. Если вы хотите, чтобы мы написали о каком-то факте или технологии, предложите свою тему в комментариях к этой или другим статьям.
#люди_и_код #технологии #it #программирование