Отзыв научного руководителя о диссертации Д. Я. Левина
[1] «Система СЕТЛ — экспериментальная реализация языка весьма высокого уровня»
Диссертации по системному программированию традиционно считаются трудными, вдвойне трудными — те, которые воплощаются в развитом и действующем программном продукте. Когда выдвигается на защиту работа, в основе которой лежит оригинальная реализация языка нового поколения объемом в 70 тыс. команд, это само по себе внушает определенное уважение.
Все же, характеризуя диссертацию, я хотел бы прежде всего отметить ту непринужденность, с которой была выполнена эта работа. В этом, конечно, прежде всего, заслуга автора, но мне хотелось бы сказать кое-что о предпосылках и контексте, в котором был достигнут этот успех.
Д. Я. Левин[2] кончил НГУ, имея в качестве научного руководителя Алексея Андреевича Ляпунова, получив вкус к научной работе и первый опыт реализации системы программирования.
Вместо аспирантуры Д. Я. Левин отслужил два года в армии, что, с моей точки зрения, повлияло очень положительно на формирование характера и зрелость мышления диссертанта.
Д. Я. Левин начал работу над СЕТЛом в разгар принятия принципиальных проектных решений по системе БЕТА. Это была азартная коллективная работа с попытками решить сразу все проблемы, со столкновениями мнений, с разноплановостью исследований и прочими положительными и отрицательными сторонами большого проекта с активными участниками. Было самое время для свежего человека противопоставить этому конгломерату мобильный и компактный проект с одним руководителем и одним исполнителем. В то же время диссертант обратил себе на пользу ряд важных положений, сложившихся в проекте БЕТА: расчлененность конструкции транслятора; хорошо описанные интерфейсы, выделяемые в отдельные компоненты системы, тщательное выделение машинно-зависимых частей, наличие нескольких языковых уровней и языковых входов.
В сочетании с выбором языка ЭПСИЛОН в качестве языка реализации это привело, в частности, к тому, что систему было легко писать и легко переделывать или развивать.
Первым результатом была высокая продуктивность работы: система была запущена в опытную эксплуатацию в очень короткий срок. Хорошая организация системы и ее отладки позволяли иногда делать до 15 продуктивных заходов на машину за день в пакетном режиме.
Вторым и весьма неожиданным результатом оказалась сравнительно высокая эффективность системы. На БЭСМ-6 с очень скромными ресурсами система СЕТЛ работала так же быстро и производительно, как и параллельная реализация СЕТЛа в США на машине CDC 6600. Результат этот имел значение почти политическое.
В течение 4-х лет система СЕТЛ на БЭСМ-6 является единственной реализацией языка весьма высокого уровня, находящей полезное производственное применение (от лингвистических процессоров до обучения школьников программированию). В свое время успех этой работы сыграл существенную роль в продлении соглашения о сотрудничестве с США на новый срок.
Еще одной особенностью хороших работ по системному программированию является их комплексность, многофакторность. Не всегда бывает легко указать главный результат работы: перечисление часто становится дробным. Надеюсь, тем не менее, что диссертант в сотрудничестве с оппонентами проведет для ученого совета такого рода анализ.
Мне кажется, что главным объективным результатом работы (хотя он и не ставился в качестве цели вначале) является то, что разработка системы СЕТЛ в совокупности с рядом других разработок в СССР сделала реальностью появление систем программирования нового поколения с входными языками высокого уровня, с органической способностью к диалоговой работе, с новыми алгоритмами трансляции, высоким темпом разработки и другими свидетельствами научно-технического прогресса.
Примечания
[1] Машинописный текст, слева от руки дата 05.04.1979. Архив, папка 230, листы 100—101.
[2] Давид Яковлевич Левин (р. 1947) — зав. НИГ отдела программирования ВЦ СО АН СССР.
Из сборника «Андрей Петрович Ершов — ученый и человек». Новосибирск, 2006 г.
Перепечатываются с разрешения редакции.