Памяти выдающегося ученого и замечательного человека
18 июня 2004 года на 82-м году жизни скончался член-корреспондент Академии Наук, профессор Святослав Сергеевич Лавров. Для целого поколения программистов он был живой историей и практическим доказательством потенциала и возможностей программирования в нашей стране. Для своих учеников он был Учителем с большой буквы, человеком, с которым можно было спорить, не соглашаться, отстаивать свои соображения и идеи — но которого невозможно было не уважать и в котором всегда можно было быть уверенным. Для коллег по науке и практическому программированию он зачастую был третейским судьей и истиной в последней инстанции: не входя ни в одну из существовавших в советской «науке программирования» школ и группировок, С. С. Лавров всегда пользовался их безусловным признанием и уважением.
Научная биография Святослава Сергеевича в определенном смысле уникальна. В совсем молодом возрасте С. С. Лавров стал основоположником ракетно-космической баллистики в СССР и неоспоримым авторитетом в области динамики управляемого полета и автоматического управления. Возглавляя с 1947 года сектор баллистики в КБ С. П. Королева, Лавров не только создал до сих пор используемые методы расчета траекторий космических аппаратов, но и непосредственно участвовал в наиболее известных космических проектах, включая расчеты полетов первого спутника и первого космонавта. Появление цифровой вычислительной техники и осознание неприемлемости трудозатрат, необходимых для разработки вычислительных программ, привело к резкому повороту в деятельности С. С. Лаврова. В самом конце 50-х — начале 60-х годов Святослав Сергеевич занялся автоматизацией программирования, как тогда было принято называть область создания компиляторов. Разработанный под его руководством в королёвском СКБ транслятор ТА-1 (позднее — ТА-1М «Сигнал») стал первым отечественным транслятором Алгола-60 для семейства ЭВМ М-20. Эта версия заработала весной 1962 года — раньше, чем трансляторы, создававшиеся другими группами в академических институтах.
Сегодня, спустя более четырех десятилетий, появление транслятора языка программирования может показаться не столь уж важным событием... Сколько их за эти сорок лет было создано! Но ТА-1 был первым компилятором для первого массового советского компьютера — и стал первым массовым инструментом представителей зарождавшейся в те годы новой профессии, программистов. Среди эксплуатировавшихся трансляторов для машин семейства М-20 (ТА-1М, ТА-2, «Альфа») именно «Сигнал» был наиболее простым и удобным в эксплуатации, только он поддерживал отладку в терминах исходного языка и был пригоден для обработки больших потоков некрупных задач («...когда экономия людского времени ценится выше экономии машинного времени, целесообразно использовать ТА-1М». — Из заключения Математического совета комиссии по эксплуатации вычислительных машин.)
Одновременно с работой по проекту ТА-1 Святослав Сергеевич в постоянном творческом общении с А. П. Ершовым занимался теоретическими вопросами оптимизации распределения памяти. В 1961 году им был предложен формализованный подход к описанию задач распределения памяти («схемы Лаврова») и показана эквивалентность задач экономии памяти и раскраски графа (граф несовместимости областей действия). Окончательный вариант эвристического алгоритма распределения и повторного использования памяти был сформулирован А. П. Ершовым и практически реализован в «Альфа-трансляторе».
В 1966 году, после смерти С. П. Королева Святослав Сергеевич Лавров перешел на работу в Вычислительный центр АН СССР на должность заведующего отделом математического обеспечения ЭВМ. Именно там были выполнены многие проекты по языкам обработки символьной информации на новейшей ЭВМ — БЭСМ-6. Во второй половине 60-х — начале 70-х годов С. С. Лавров принимал активное участие в рабочей группе WG2.1 IFIP (Международной федерации по обработке информации) по Алголу. В материалах WG2.1 им был сформулирован общепринятый сегодня тезис о необходимости интеграции языков программирования со средствами взаимодействия с операционной средой, ставший прообразом современной концепции API.
Одновременно с научными исследованиями Святослав Сергеевич занимался и педагогической работой. С 1959 года, когда он стал доктором технических наук (по совокупности научных трудов, без защиты диссертации), Лавров преподавал на мехмате МГУ, а в 1970-м, когда был создан ВМК МГУ, стал одним из первых зав. кафедрой нового факультета.
В 1971 году С. С. Лавров вернулся в свой родной город Ленинград, где еще в довоенные годы начинал учиться на математико-механическом факультете ЛГУ, и через год возглавил кафедру математического обеспечения ЭВМ родного университета. В 1977 году он стал директором Института теоретической астрономии АН СССР. В этом институте им была организована и возглавлена лаборатория автоматизации научных исследований, в которой развернулись работы по созданию системы с автоматическим синтезом программ, ориентированной на решение научных и инженерных задач.
С конца 1987 года С. С. Лавров работал в Институте прикладной астрономии РАН в должности советника при дирекции. Он занимался вопросами применения математических методов для решения прикладных научных задач, в частности, восстановления изображений в радиоинтерферометрии.
До последних лет Святослав Сергеевич продолжал участвовать в научной жизни. Совсем недавно он выступал с докладами на мемориальных конференциях А. П. Ершова (2001 год) в Новосибирске и А. А. Маркова (2003 год) в Санкт-Петербурге. За годы творческой работы он выпустил множество статей и десяток монографий. Последней его книгой стал учебник «Программирование. Математические основы, средства, теория», вышедший в 2001 году в издательстве «БХВ-Петербург». И неожиданно оказалось, что изложенное строгим научным языком учебное издание для университетов пользуется не меньшим спросом, чем массовые книги по современным программным продуктам и технологиям...
Статья опубликована 23.06.2004 г.