С днем рождения, Дональд Кнут
Андрей Ершов на конференции Algorуthms in Modern Mathematics and Computer Science, СССР, Ургенч, 1979 год Редакторы попросили меня записать некоторые из моих личных воспоминаний об Андрее Ершове. Хотя мы с Андреем жили на разных концах Земли и нас разделяло почти 12 часовых поясов, его жизнь оказала на мою значительное положительное влияние.
Это началось еще когда я был студентом последнего курса института Case Institute of Technology. Тогда только появилась книга Андрея «Программирование для БЭСМ», и мы, группа студентов, смогли убедить преподавателя русского языка включить ее в курс в качестве одного из двух сборников текстов для изучения научной лексики. Для нас это был замечательный опыт работы, поскольку многие технические компьютерные термины нельзя было найти в наших словарях, и даже преподаватель некоторые из них раньше вообще не слышал! (Выполненный Недлером перевод на английский язык тогда еще не был издан.) Мы почувствовали, что видим «настоящий» русский язык в том виде, в каком он действительно используется в науке; книга произвела на нас намного более сильное впечатление, чем второй текст, в котором говорилось о спутниках и исследовании космоса, но на очень примитивном уровне.
Эта книга не только помогла мне лучше освоить русский язык; из нее я узнал интересные алгоритмы оптимизации компилятора. На самом деле ранняя работа Андрея, которая послужила толчком к созданию этой важной области компьютерной науки, до сих пор вызывает интерес. Его метод изложения материала также оказался весьма значимым: блок-схемы, представленные впервые в его книге, я впоследствии использовал для иллюстрации процесса выполнения программы в своей статье Computer-drawn flow charts («Блок-схемы, построенные компьютером»), изданной в Communications of the ACM, сентябрь 1963, стр. 555–563) и последующей серии книг «Искусство программирования».
Первая личная встреча с Андреем произошла на конференции рабочей группы IFIP, где готовился преемник языку Algol-60. К тому времени я узнал, что Андрей независимо от Джина Амдала изобрел хеширование с линейным числом испытаний — важный алгоритм, изучение которого стало поворотным моментом моей жизни, поскольку привело меня в область алгоритмического анализа. (См. сноску на стр. 529 в моей книге Sorting and Searching («Сортировка и поиск»); в русском переводе эта сноска находится на стр. 628). Я был наслышан о новых методах, входящих в состав проекта языка Alpha, который вел Андрей. Поэтому я был крайне рад возможности встретиться с ним лично, тем более что, как выяснилось, он свободно владеет английским языком. Мы проговорили около двух часов о компиляторах и языках, пока он копировал на ксероксе многочисленные документы для этой конференции.
Впоследствии мы смогли чаще с ним видеться, поскольку он регулярно приезжал на встречи с Джоном Маккарти в Стэнфордский университет. Один из таких визитов стал первопричиной, пожалуй, самого памятного для меня события — моего
участия в конференции Algorуthms in Modern Mathematics and Computer Science («Алгоритмы в современной математике и компьютерной науке»), состоявшейся в СССР в Ургенче в 1979 году. Эта конференция — паломничество ученых к святым местам, к месту рождения самого понятия «алгоритм» — для меня оказалась мечтой, ставшей явью. Хотя мы с Андреем официально числились сопредседателями конференции, на самом деле Андрей взял на себя 99% работы, в то время как я мог отдыхать и наслаждаться происходящим, узнавая множество важного от людей, с которыми здесь встречался. Такое бывает раз в жизни, и я надеюсь, что многие ученые, работающие в области компьютерных наук, смогут поучаствовать в аналогичной встрече, если кто-то вдохновится примером Андрея. За эту неделю я узнал его намного лучше и был особенно поражен тем, насколько блестяще он справлялся со всеми многочисленными ролями: руководителя конференции, организатора, философа, оратора, переводчика и редактора.
У меня есть немало других воспоминаний, в том числе и о замечательном случае, когда мы с женой встретили Андрея на вечере американской кадрили и он исполнял Virginia Reel и «до-си-до», но того, что уже сказано, вполне достаточно, чтобы понять, насколько важную роль в моей жизни сыграл Андрей.
Во время его последнего визита в Стэнфорд я узнал о громадной работе, которую он вел в последние годы жизни, о революционных изменениях в преподавании компьютерных наук миллионам студентов, о чем с восторгом говорили во всем мире. Мы все скорбим о том, что жизни Андрея было предначертано закончиться так скоро, мы восторгаемся тем многим, что удалось ему совершить, и знаем, что плоды его жизни станут источником знаний для следующих поколений ученых всего мира, работающих в области компьютерных наук.