В Татьянин день редкий выпускник МГУ, где бы он ни находился, не помянет добром время учебы и то, чему научился. Попробую и я предложить свои скромные воспоминания об «альма-матер» в дни празднования 250-летия Московского университета.
В качестве «временного окна» выберу период своей учебы, который представляет интерес для многих, прежде всего, потому что совпал с «утром» становления ИТ — погружением студентов в то, что теперь называют computer science. Кроме того, именно в те годы значительная часть студентов и преподавателей университета переехала в новое здание на Воробьевых горах.
Итак, начало учебы в университете — 1953 год. Какими были пришедшие в университет студенты-первокурсники? Прежде всего, пережившие войну, все они дышали послевоенным воздухом радости жизни и жаждали учиться. В первое десятилетие после войны только в Москве было по четыре строительных, медицинских и педагогических института. На фоне восстановительных работ в стране разворачивалось масштабное строительство промышленных предприятий, объектов энергетики, жилья. Началась реализация колоссальных программ оборонного характера — ядерной, ракетной и космической.
Будущих специалистов по математике и механике в МГУ готовили на механико-математическом факультете. В 1948 году была создана кафедра вычислительной математики, которую возглавлял профессор Б.М. Щиголев, специалист по небесной механике, а в начале 50-х годов было образовано спецотделение, готовившее математиков для национальной криптографической службы.
На факультете активно работали кафедры теории вероятностей и математической статистики, дифференциальных уравнений, теории чисел и алгебры, в деятельности которых постепенно росла доля прикладных исследований. Первые два года студенты получали общую математическую подготовку по обязательным дисциплинам, позволявшим определиться не только в выборе дальнейшей специализации по отделениям и кафедрам, но, главное, получить высокий уровень фундаментальных математических знаний. Конечно, дискретной математики как выделенного направления еще не существовало, однако такой уровень математической подготовки позволил успешно подключиться студентам к занятиям математической теорией информации и математической кибернетикой, которая на глазах учившихся в ту пору студентов трансформировалась в математические теории систем и управления. Помимо того они принимали активное участие в развитии методов решения дифференциальных уравнений для различных классов прикладных задач. Государственные интересы настоятельно требовали развития прикладных методов и приближенных способов вычисления, чему отвечали возможности уже первых электронно-вычислительных машин.
В 1952 году на базе электрических клавишных и автоматических счетных машин, а также гидроинтегратора (аналоговой вычислительной машины), создается вычислительная лаборатория, прообраз будущего университетского Научно-исследовательского вычислительного центра (НИВЦ). Первым руководителем в ней стал И.С. Березин. В том же году кафедру вычислительной математики возглавил акад. С.Л. Соболев. Выдающийся математик, введший в науку понятие обобщенных функций, Соболев выполнил вычислительные расчеты по определению эффективного размера атомного реактора и моделированию технологического процесса по разделению изотопов урана на специальной фабрике на Урале с целью его существенной корректировки. После запуска фабрики по разделению изотопов и проведения успешного испытания атомной бомбы в 1951 году Соболев был удостоен звания Героя Социалистического Труда. Значительная доля расчетов в атомном проекте была проведена с использованием электрических клавишных машин, однако основные трудности возникли при организации работы расчетчиков, распараллеливании вычислительного процесса и повышении его надежности за счет дублирования. В этой связи развитие численных методов и их машинной реализации стало одним из главнейших направлений в деятельности будущих вычислителей в МГУ.
Программирование как предмет обучения на вычислительной кафедре ставилось профессором А.А. Ляпуновым — известным борцом против признания кибернетики лженаукой. Его замечательные выступления с лекциями о кибернетике на заседаниях Московского математического общества, в студенческих аудиториях, с научными и популярными статьями сыграли роль отличного катализатора для подъема волны интереса к программированию в научных и инженерных кругах. Лекции и семинары Ляпунова обратили внимание присутствующих на необходимость развития теоретического программирования — так родилась его замечательная работа «О принципах программирования».
На волне интереса к кибернетике и определения ее места в отношении математики на факультете росло количество специальных семинаров, например по теории графов, по алгебраической теории кодирования, по вопросам управления динамическими системами, теории автоматов, а первые печатные работы студентов нашего курса по ИТ-проблемам появились уже в 1956 году. Замечательные курсы по численным методам, читавшиеся И.С. Березиным и Н.П. Жидковым, послужили основой пособия в двух томах, опубликованного и использованного студентами и аспирантами на протяжении нескольких десятилетий, как у нас в стране, так и за рубежом.
В 1956 году в вычислительном центре устанавливается трехадресная АЦВМ «Стрела», на которой студенты получают возможность практиковаться в программировании и выполнении расчетов. Предыдущие курсы проходили практику и готовили дипломные работы в Отделе прикладной математики АН СССР, где уже была установлена такая машина. Уже тогда требования к вычислительному ресурсу и качеству результатов были исключительно высокие при относительной ненадежности работы машины, поэтому на отладку программ давалось около двух минут. Так родился способ «отладки в сухую», когда написанные порядка восьми строк куски программы, автор проверял за рабочим столом, отстукивая, как пианист, такты ее работы. По мере накопления опыта программирования и объемов самих программ появились операторы-кодировщики, которые «расписывали» в машинных кодах текст, освобождая «мастеров» от рутины. При этом среди решаемых в то время задач были весьма нетривиальные проблемы; например, численный расчет орбиты искусственного спутника земли методом Рунге-Кутта, которая обсчитывалась по кускам с их последующей «сшивкой» в общую траекторию.
В те же 50-е годы в университете начинает складываться школа академика Г.И. Петрова — замечательного исследователя в области аэро-, гидро- и газодинамики, в рамках которой развивается направление численного моделирования. Методология моделирования, разработанная в этой школе, отличалась тем, что теперь принято называть «жизненным циклом задачи», с особым акцентом на оценку результатов решения и верификации постановки задачи.
В тот период начинают формироваться представления о вычислительном процессе и библиотеках стандартных программ, и первую такую библиотеку для М-20 написали под руководством М.Р. Шура-Бура, другого руководителя программистов на кафедре, бывшие первокурсники набора 1953 года. Как рассказывали студенты, проходившие практику у Шура-Бура, он мастерски владел искусством сокращать объем программы за счет эффективной работы с данными, что в условиях жестких ограничений по памяти играло серьезную роль.
Уместно обратить внимание на состав предметов, которые были обязательными в 1956 году при подготовке вычислителей на факультете: «Счетные машины и приборы», «Приближенные вычисления», «Вычислительные методы», «Программирование», «Введение в теорию вероятностей». Был обширный практикум, как по освоению работы на оборудовании, так и по классам и методам, решения задач на машинах. Пожалуй, этот период можно было назвать переходным от расчетной к вычислительной работе и появлению профессии «вычислитель», пока еще весьма тесно объединявшей в себе математические и программистские навыки и знания. Среди преподавателей программирования на нашем курсе был А.П. Ершов, будущий первый академик.
Особо следует отметить занятия на факультете теории информации и теоретической кибернетики. Дело не только в том, что А.Н. Колмогоровым, А.Я. Хинчиным, А.А. Ляпуновым и их учениками были получены выдающиеся результаты, — они подготовили много специалистов, создали замечательные курсы по теории информации, надежности, массовому обслуживанию, теории систем и математической логике. В дальнейшем путем организации Статистической лаборатории при университете была налажена глубокая исследовательская и методическая работа по разработке приложений.
Из среды нашего курса вышли замечательные специалисты, много сделавшие в области ИТ и приложений, вот лишь несколько имен: А. Степанов, ведущий разработчик ЭВМ в команде С.А. Лебедева; член-корреспондент РАН Г. Рябов, один из создателей системы автоматического проектирования ЭВМ в ИТМиВТ РАН; известные программисты В. Мартынюк и В. Собельман; создатели школы по дискретному анализу Сибирского отделения РАН В. Коробков и В. Дементьев; автор известной программы реализации симплекс-метода для машины БЭСМ-2 член-корреспондент А. Меренков; известные математики-криптографы академик В. Башев и член-корреспондент В. Иванов.