Воспоминания об академике Ершове В. Л. Каткова
Андрей Петрович Ершов — ученый и человек

Воспоминания об академике Ершове В. Л. Каткова

[1]

С Андреем Петровичем Ершовым я познакомился тридцать лет тому назад, когда молодым специалистом прибыл на работу в Сибирское отделение АН СССР. Довольно скоро под его непосредственным влиянием и при участии я был обращен в программистскую веру и вся моя дальнейшая работа в Сибири проходила в тесном контакте с ним.

Пожалуй, начало 60-х годов было наиболее интересным периодом в жизни А. П. Ершова, когда молодой энергичный завлаб приехал в только что открытый научный центр Сибири вместе со своими сотрудниками и развернул работу по созданию одного из первых в стране трансляторов с языка типа Алгол 60, получившего название Альфа-транслятор. Проект выглядел довольно амбициозным по тем временам: создать систему программирования, превосходящую все известные системы такого рода как по уровню входного языка (Альфа-язык), так и по качеству получающихся программ. Если вспомнить, что программирование тогда велось в основном в машинных кодах и лишь кое-где применялся ассемблер, то станет ясной вся «утопичность» поставленной цели. Трудности усугублялись еще и тем, что в то время методы трансляции с языков высокого уровня находились в зачаточном состоянии, а целевая и инструментальная машина (М-20) выглядела смехотворно маломощной для такого проекта (быстродействие 20—40 тыс. операций/с, оперативная память  16—18 кбайт).

Тем не менее эти трудности не остановили А. П. Ершова и его единомышленников. При  активной  поддержке начальства — академиков С. Л. Соболева и Г. И. Марчука работы развернулись широким фронтом и уже через 2—3 года началась комплексная отладка транслятора. Очень сильно задерживала работу низкая надежность аппаратуры: достаточно сказать, что время бессбойной работы машины составляло 15—20 мин, в результате чего приходилось организовывать двойной—тройной счет, запоминать информацию в контрольных точках и принимать другие меры  по  повышению  надежности  счета.

Параллельно с разработкой транслятора А. П. Ершов активно пропагандировал Альфа-язык и систему в целом в качестве рабочего инструмента программирования. Под влиянием агитации автор этих строк начал писать свои программы на Альфа-языке, за что и «поплатился»: в период опытной эксплуатации Альфа-транслятора на его программах было выловлено около трети ошибок транслятора, в основном в связи с нарушением различных количественных ограничений.

Андрей Петрович творчески относился к любой программистской деятельности, даже на первый взгляд технической. Например, большое впечатление на меня произвел его доклад по итогам разработки Альфа-системы. По существу, это была одна из первых работ в Союзе по программометрии: на большом статистическом материале, накопленном при разработке транслятора, были даны достоверные оценки трудозатрат, стоимости ошибок на различных фазах жизненного цикла системы, оценки качества созданного транслятора и генерируемых им программ и т. д.

Не менее интересной была организация работ в Альфа-проекте. Хирургическая бригада за рубежом появилась гораздо позже, а в Альфа-проекте ее контуры были видны уже достаточно отчетливо. Тогда же систематически применялись сухие прокрутки программ за столом, то, что в 70-е годы вылилось винспекции кода, сквозные просмотры и статическую отладку программ. Одновременно с Альфа-транслятором создавалось его окружение, прежде всего, символьный отладчик, так что уже в то время речь шла о создании не только транслятора, а, по существу, интегрированной среды разработки программ.

Об этом периоде деятельности А. П. Ершова можно сказать, что многие идеи, реализованные в Альфа-системе, носили пионерный характер и заложили фундамент будущей сибирской школы программирования, навсегда связанной с именем ее создателя — Андрея Петровича Ершова.

Примечание

[1] Перепечатывается из журнала «Программирование», № 1, 1990, с любезного разрешения редакции.

Из сборника «Андрей Петрович Ершов — ученый и человек». Новосибирск, 2006 г.
Перепечатываются с разрешения редакции.