Первая личная встреча с Андреем произошла на конференции рабочей группы IFIP, где готовился преемник языку Algol-60. К тому времени я узнал, что Андрей независимо от Джина Амдала изобрел хеширование с линейным числом испытаний - важный алгоритм, изучение которого стало поворотным моментом моей жизни, поскольку привело меня в область алгоритмического анализа. (См. сноску на стр. 529 в моей книге Sorting and Searching ("Сортировка и поиск"); в русском переводе эта сноска находится на стр. 628). Я был наслышан о новых методах, входящих в состав проекта языка Alpha, который вел Андрей. Поэтому я был крайне рад возможности встретиться с ним лично, тем более что, как выяснилось, он свободно владеет английским языком. Мы проговорили около двух часов о компиляторах и языках, пока он копировал на ксероксе многочисленные документы для этой конференции.
Впоследствии мы смогли чаще с ним видеться, поскольку он регулярно приезжал на встречи с Джоном Маккарти в Стэнфордский университет. Один из таких визитов стал первопричиной, пожалуй, самого памятного для меня события - моего
участия в конференции Algorуthms in Modern Mathematics and Computer Science ("Алгоритмы в современной математике и компьютерной науке"), состоявшейся в СССР в Ургенче в 1979 году. Эта конференция - паломничество ученых к святым местам, к месту рождения самого понятия "алгоритм" - для меня оказалась мечтой, ставшей явью. Хотя мы с Андреем официально числились сопредседателями конференции, на самом деле Андрей взял на себя 99% работы, в то время как я мог отдыхать и наслаждаться происходящим, узнавая множество важного от людей, с которыми здесь встречался. Такое бывает раз в жизни, и я надеюсь, что многие ученые, работающие в области компьютерных наук, смогут поучаствовать в аналогичной встрече, если кто-то вдохновится примером Андрея. За эту неделю я узнал его намного лучше и был особенно поражен тем, насколько блестяще он справлялся со всеми многочисленными ролями: руководителя конференции, организатора, философа, оратора, переводчика и редактора.
У меня есть немало других воспоминаний, в том числе и о замечательном случае, когда мы с женой встретили Андрея на вечере американской кадрили и он исполнял Virginia Reel и "до-си-до", но того, что уже сказано, вполне достаточно, чтобы понять, насколько важную роль в моей жизни сыграл Андрей.
Во время его последнего визита в Стэнфорд я узнал о громадной работе, которую он вел в последние годы жизни, о революционных изменениях в преподавании компьютерных наук миллионам студентов, о чем с восторгом говорили во всем мире. Мы все скорбим о том, что жизни Андрея было предначертано закончиться так скоро, мы восторгаемся тем многим, что удалось ему совершить, и знаем, что плоды его жизни станут источником знаний для следующих поколений ученых всего мира, работающих в области компьютерных наук.
Редакция "Открытых систем" благодарит С. В. Клименко за помощь в подготовке к публикации воспоминаний Дональда Кнута
Из плеяды первых отечественных программистов
Гелий Рузайкин
Андрей Петрович Ершов родился в Москве в 1931 г. Окончил механико-математический факультет Московского Государственного Университета в 1954 г. по специальности вычислительная математика, является учеником Алексея Андреевича Ляпунова. Будучи студентом четвертого курса прослушал цикл лекций "Принципы программирования", прочитанный Ляпуновым, и во многом определивший выбор программирования в качестве жизненного пути. В то же самое время Андрей Петрович начал работать в ИТМиВТ АН СССР, участвуя в подготовке приемных испытаний машины БЭСМ. Им была разработана в качестве тестовой задачи программа обращения матрицы.
На втором году учебы в аспирантуре приступил к организации отдела теории программирования в ВЦ АН СССР. Выполненные им исследования по созданию программирующей программы для БЭСМ были опубликованы в 1958 г. Их результаты составили первую в мире монографию по автоматизации программирования.
Наряду с научной деятельностью Ершов с первых же шагов занятий программированием участвовал в процессе преподавания: еще студентом по просьбе С.А. Лебедева читал лекции по программированию для разработчиков БЭСМ, а в 1957 г. впервые с его участием были организованы занятия со студентами на мехмате.
По приглашению академика С.Л. Соболева в 1960 г. Ершов начинает работать заведующим лаборатории в Сибирском отделении АН СССР. В дальнейшем переходит на работу в созданный ВЦ, СО АН СССР, с которым и связана его научно-педагогическая работа. Основные направления его деятельности связаны с вопросами автоматизации программирования и проблемами теоретического программирования, объектами которого служат математические абстракции программ. Его перу принадлежат многие статьи в отечественных и зарубежных научных изданиях и ряд книг.
В 1970 г. был избран членом-корреспондентом, а в 1984 г. академиком АН СССР. Зарубежные коллеги удостоили его чести и избрали членом ACM (1965 г.) и почетным членом Британского общества по вычислительной технике (1974 г.).
Андрей Петрович принимал активное участие в научной жизни в стране и за рубежом, его часто можно было видеть среди организаторов и выступающих на семинарах, симпозиумах и других мероприятиях. Его доклады вызывали неизменный интерес и нередко служили поводом для широких обсуждений. Так на Второй всесоюзной конференции по программированию в 1970 г., проходившей в Академгородке в Новосибирске, он убежденно отстаивал тезис, что программа наконец стала товаром, и это требует соответствующего отношения со стороны государства как к продукту, так и к его творцу - программисту.
Андрей Петрович Ершов был избран вице-президентом конгресса IFIP, членом редакционных коллегий многих научных изданий и Председателем Научного совета по комплексной проблеме "Кибернетика" АН СССР.
Очерк второй: Школа Б.И. Рамеева, универсальные ЭВМ
Башир Искандарович Рамеев
Башир Искандарович Рамеев начинал свою научную деятельность в области вычислительной техники в Энергетическом институте АН СССР (ЭНИН) под руководством член-корреспондента Академии наук И.С.Брука. Летом 1948 года молодой инженер и уже маститый ученый выступили соавторами оригинального проекта под названием «Автматическая цифровая электронная машина». Это был первый в стране проект цифровой ЭВМ с жестким программным управлением, завершенный за несколько месяцев до начала работ над МЭСМ.
В 1949 году Б.И. Рамеев перешел в недавно созданное специально для разработки и конструирования цифровых вычислительных машин СКБ-245, организацию, которая стала негласным конкурентом ИТМ и ВТ С.И. Лебедева. Опираясь на опыт совместных работ с Бруком, Рамеев разработал проект новой машины и участвовал в его реализации в качестве заместителя главного конструктора Ю.Я.Базилевского. ЭВМ «Стрела» стала первой советской серийной ЭВМ: в промышленных условиях было выпущено 7 экземпляров этой машины.
После «Стрелы» Рамеев начал активно работать над новой ЭВМ, «Урал-1», уже в качестве генерального конструктора. Первая машина серии должна была производиться в Пензе, и Рамеев с группой молодых сотрудников СКБ-245 переехал туда. Ламповая машина «Урал-1» была выпущена в 1954 году. Эта ЭВМ с быстродействием 100 операций в секунду и памятью на магнитных барабанах относилась к разряду малых недорогих машин преимущественно для инженерных применений и в течение многих лет использовалась вычислительными центрами страны. Сегодня увидеть своими глазами, как выглядела одна из первых советских ЭВМ, можно в одном из залов Политехнического музея.