У меня есть немало других воспоминаний, в том числе и о замечательном случае, когда мы с женой встретили Андрея на вечере американской кадрили и он исполнял Virginia Reel и "до-си-до", но того, что уже сказано, вполне достаточно, чтобы понять, насколько важную роль в моей жизни сыграл Андрей.
Во время его последнего визита в Стэнфорд я узнал о громадной работе, которую он вел в последние годы жизни, о революционных изменениях в преподавании компьютерных наук миллионам студентов, о чем с восторгом говорили во всем мире. Мы все скорбим о том, что жизни Андрея было предначертано закончиться так скоро, мы восторгаемся тем многим, что удалось ему совершить, и знаем, что плоды его жизни станут источником знаний для следующих поколений ученых всего мира, работающих в области компьютерных наук.
Редакция "Открытых систем" благодарит С. В. Клименко за помощь в подготовке к публикации воспоминаний Дональда Кнута
Из плеяды первых отечественных программистов
Гелий Рузайкин
Андрей Петрович Ершов родился в Москве в 1931 г. Окончил механико-математический факультет Московского Государственного Университета в 1954 г. по специальности вычислительная математика, является учеником Алексея Андреевича Ляпунова. Будучи студентом четвертого курса прослушал цикл лекций "Принципы программирования", прочитанный Ляпуновым, и во многом определивший выбор программирования в качестве жизненного пути. В то же самое время Андрей Петрович начал работать в ИТМиВТ АН СССР, участвуя в подготовке приемных испытаний машины БЭСМ. Им была разработана в качестве тестовой задачи программа обращения матрицы.
На втором году учебы в аспирантуре приступил к организации отдела теории программирования в ВЦ АН СССР. Выполненные им исследования по созданию программирующей программы для БЭСМ были опубликованы в 1958 г. Их результаты составили первую в мире монографию по автоматизации программирования.
Наряду с научной деятельностью Ершов с первых же шагов занятий программированием участвовал в процессе преподавания: еще студентом по просьбе С.А. Лебедева читал лекции по программированию для разработчиков БЭСМ, а в 1957 г. впервые с его участием были организованы занятия со студентами на мехмате.
По приглашению академика С.Л. Соболева в 1960 г. Ершов начинает работать заведующим лаборатории в Сибирском отделении АН СССР. В дальнейшем переходит на работу в созданный ВЦ, СО АН СССР, с которым и связана его научно-педагогическая работа. Основные направления его деятельности связаны с вопросами автоматизации программирования и проблемами теоретического программирования, объектами которого служат математические абстракции программ. Его перу принадлежат многие статьи в отечественных и зарубежных научных изданиях и ряд книг.
В 1970 г. был избран членом-корреспондентом, а в 1984 г. академиком АН СССР. Зарубежные коллеги удостоили его чести и избрали членом ACM (1965 г.) и почетным членом Британского общества по вычислительной технике (1974 г.).
Андрей Петрович принимал активное участие в научной жизни в стране и за рубежом, его часто можно было видеть среди организаторов и выступающих на семинарах, симпозиумах и других мероприятиях. Его доклады вызывали неизменный интерес и нередко служили поводом для широких обсуждений. Так на Второй всесоюзной конференции по программированию в 1970 г., проходившей в Академгородке в Новосибирске, он убежденно отстаивал тезис, что программа наконец стала товаром, и это требует соответствующего отношения со стороны государства как к продукту, так и к его творцу - программисту.
Андрей Петрович Ершов был избран вице-президентом конгресса IFIP, членом редакционных коллегий многих научных изданий и Председателем Научного совета по комплексной проблеме "Кибернетика" АН СССР.
Очерк второй: Школа Б.И. Рамеева, универсальные ЭВМ
Башир Искандарович Рамеев
Башир Искандарович Рамеев начинал свою научную деятельность в области вычислительной техники в Энергетическом институте АН СССР (ЭНИН) под руководством член-корреспондента Академии наук И.С.Брука. Летом 1948 года молодой инженер и уже маститый ученый выступили соавторами оригинального проекта под названием «Автматическая цифровая электронная машина». Это был первый в стране проект цифровой ЭВМ с жестким программным управлением, завершенный за несколько месяцев до начала работ над МЭСМ.
В 1949 году Б.И. Рамеев перешел в недавно созданное специально для разработки и конструирования цифровых вычислительных машин СКБ-245, организацию, которая стала негласным конкурентом ИТМ и ВТ С.И. Лебедева. Опираясь на опыт совместных работ с Бруком, Рамеев разработал проект новой машины и участвовал в его реализации в качестве заместителя главного конструктора Ю.Я.Базилевского. ЭВМ «Стрела» стала первой советской серийной ЭВМ: в промышленных условиях было выпущено 7 экземпляров этой машины.
После «Стрелы» Рамеев начал активно работать над новой ЭВМ, «Урал-1», уже в качестве генерального конструктора. Первая машина серии должна была производиться в Пензе, и Рамеев с группой молодых сотрудников СКБ-245 переехал туда. Ламповая машина «Урал-1» была выпущена в 1954 году. Эта ЭВМ с быстродействием 100 операций в секунду и памятью на магнитных барабанах относилась к разряду малых недорогих машин преимущественно для инженерных применений и в течение многих лет использовалась вычислительными центрами страны. Сегодня увидеть своими глазами, как выглядела одна из первых советских ЭВМ, можно в одном из залов Политехнического музея.
После разработки еще нескольких моделей «Урал» на ламповой элементной базе и с оперативной памятью уже на ферритах Рамеев в 1960 году перешел к созданию семейства полупроводниковых «Уралов». Машины Рамеева представляли собой универсальные системы для решения различных инженерно-технических, планово-экономических и управленческих задач. В этой серии была воплощена идея создания унифицированного семейства конструктивно и программно совместимых машин разной производительности. Фактически, это уже были принципы разработки машин третьего поколения, получившие у нас воплощение в сериях ЕС и СМ ЭВМ в 70-е годы.
Машины «Урал-11», «Урал-14» и «Урал-16» представляли собой семейство с унифицированным интерфейсом с внешними устройствами и унифицированными оперативными и внешними ЗУ (правда, унификация в значительно меньшей степени распространялась на АЛУ и совсем не касалась устройств управления). Такой подход облегчал компоновку систем и упрощал их серийное производство. Унификация и модульный принцип построения позволяли комплектовать машины с различным составом устройств и различным объемом памяти. Кроме того, в ЭВМ «Урал» предусматривались конструктивные возможности для построения многомашинных вычислительных комплексов. Большая емкость оперативной памяти, эффективные средства защиты памяти и развитая система прерываний позволяли строить различные системы обработки данных коллективного пользования для работы в режиме разделения времени. И хотя по чисто формальному признаку – элементной базе – последние три модели серии «Урал» относятся ко второму поколению ЭВМ, в их архитектуре присутствовало много черт, присущих машинам третьего поколения.
И еще один интересный факт из жизни Рамеева. В начале 50-х в двух ведущих технических вузах Москвы – МИФИ и МЭИ – были введены курсы по вычислительной технике. В МЭИ лекции читал Лебедев, а в МИФИ – Рамеев, не имевший высшего образования, поскольку в 30-е годы его исключили из института как «сына врага народа». Понимая неопределенность такого положения, Рамеев обратился в Министерство культуры с просьбой, чтобы ему разрешили завершить свое образование, сдав необходимые экзамены экстерном. Увы, чиновники не только отклонили его просьбу, но и запретили заниматься преподавательской деятельностью. Так ученый с опытом разработки и ввода в эксплуатацию одной из первых ЭВМ в стране остался формально без высшего образования. Однако это не помешало ему стать главным инженером и заместителем директора по научной работе Пензенского НИИ математических машин и получить впоследствии степень доктора технических наук без защиты диссертации.