Галерея славы

Страницы биографии академика А.П. Ершова

Детские и юношеские годы

Андрей Петрович Ершов родился 19 апреля 1931 г. в Москве в семье потомственных интеллигентов[1]. Его родители познакомились в Москве. Татьяна Константиновна Малинина (1906–1995), мама А.П. Ершова, приехала сюда в 1930 г. в отпуск из Таганрога, где учительствовала. Она окончила Академию коммунистического воспитания им. Н.К.Крупской в Москве в январе 1930 г., куда поступила благодаря протекции друзей отца. Константин Николаевич Малинин ее отец (1884–1922), выпускник Московского университета, член партии большевиков с 1904 г., предпочел научной карьере преподавательскую работу, служил в Грузии, Армении, вернулся в Москву в Наркомпрос, затем заведовал отделом в Агитпропе ЦК ВКП(б).

Двоюродный прадед А.П. Ершова по материнской линии — Федор Иванович Успенский (1845–1928), ординарный академик Российской Академии наук (1900). Он окончил историко-филологический факультет Петербургского университета (1874), был специалистом по истории Византии, основателем и директором Русского археологического института в Константинополе (1894—1914)[2 ]. Другой прадед — Алексей Иванович Успенский (1840–1912), окончил Военно-медицинскую академию в Петербурге и служил военным врачом на Кавказе и в Закаспийской области. А.И. Успенский был женат на дворянке Евдокии Васильевне Скрыльник (1848–1932). Из восьми детей А.И. Успенского и Е.В. Скрыльник выжили трое: Вера, Владимир и Нина — мать Татьяны Константиновны Успенской, в замужестве Малининой[3 ]. Об отце Андрея Петровича — Петре Николаевиче Ершове (1907–1986), аспиранте НИОПИКа[4 ] в 1930-е г., сохранилось мало известий. Он был химиком-технологом по образованию и работал в Москве, Донбассе, затем заведующим отделом Центральной лаборатории на Кемеровском анилинокрасочном заводе.

Первые шесть лет своей жизни Андрей провел в Москве, в семье родителей матери. В 1937 г. Петру Николаевичу Ершову предложили жилье и работу на химкомбинате в городе Рубежном, Луганской области, он принял предложение и с семьей переехал в Донбасс.

К началу войны у Ершовых было уже трое детей: Андрей старший — 10 лет, средний — Николай — 7 лет (он страдал ДЦП), младшему, Сергею, еще не исполнилось трех. Тяжкие испытания выпали на долю семьи, когда немецкая армия подошла к Рубежному и началась эвакуация. Татьяна Константиновна записала в воспоминаниях: "8-го июля 1942 г. я с детьми вышла из дома. И в этот день мы надолго потеряли то, что называется крышей над головой, своим углом, из которого тебя никто не может выгнать"[5 ]. Рубежное было занято немцами с августа 1942 по февраль 1943 г. В мае 1943-го Ершовым удалось перебраться в Кемерово, куда была эвакуирована часть Рубежанского химического комбината (впоследствии Кемеровский анилино-красочный завод). Здесь Андрей поступил в пятый класс 37-й мужской средней школы[6 ].

Андрей Ершов в старших классах много занимался спортом (легкой атлетикой), входил в состав сборной Кемерово, был секретарем школьной комсомольской организации[ 7]. Осенью 1947 г. комсомол премировал его поездкой на празднование 800-летия Москвы и 30-летия Великой Октябрьской социалистической революции. Он учился блестяще, окончил школу с золотой медалью.

В 1949 г. Андрей Ершов поступил в Московский государственный университет на физико-технический факультет: "В школе я очень хотел заниматься ядерной физикой. Правда, интерес к математике у меня тоже был, но где-то на втором плане... Выбор (физтеха — И.К.) был предопределен не глубоким интересом к физике, а тем, что туда вступительные экзамены были в три тура, и мне очень захотелось их все пройти"[8 ].

В конце 1940-х гг. СССР активно разворачивал свою ядерную программу, требовались специалисты. На физтехе образовали Отделение строения вещества (впоследствии — ядерной физики). Сюда и подал заявление А.Ершов, поступив в МГУ. Поскольку специальность этого Отделения имела военно-оборонное значение, к будущим студентам предъявлялись повышенные требования. Андрей Ершов, комсорг курса, попал в число тех, кому после окончания первого курса предложили выбрать другой факультет по той причине, что его родители, и он сам, провели несколько месяцев на оккупированной территории. Не помогло письмо к Сталину: результатом его стала короткая встреча с одним из личных секретарей главы государства, который пояснил, что по вышеуказанной причине (оккупация) и причинам государственной безопасности, они имели право выбрать любую другую научную область.[9 ] А. Ершову и его товарищам пришлось сдать программную разницу за первый курс по индивидуальным планам, чтобы быть зачисленными на второй курс мехмата.[10 ] В июне 1951 г. Андрей Ершов подал заявление на кафедру высшей алгебры механико-математического факультета.

В 1949 г. на мехмате МГУ была создана кафедра вычислительной математики, ее возглавлял в 1952-1960 гг. академик С.Л. Соболев, один из крупнейших математиков двадцатого столетия. По свидетельству Е.А. Жоголева, однокурсника будущего академика, они с Ершовым однажды разговорились о тематике кафедры вычислительной математики, об электронных вычислительных машинах. "Особенно большое впечатление на Андрея произвела память на ртутных трубках. Потом мы долго фантазировали о возможностях этих машин... После этого разговора он забрал свое заявление с кафедры высшей алгебры и подал его на нашу кафедру«[11 ]. А.П. Ершов считал Е.А. Жоголева своим «крестным отцом» в программировании.

Новая наука, тогда ее называли кибернетикой, только складывалась. Этот процесс был осложнен идеологической обстановкой, которую накаляли представители консервативной философской элиты. Критике подвергались теоретические положения математической логики, кибернетики. Необходимость поддерживать высокий уровень в первую очередь военных разработок не позволила остановить прогресс: критики кибернетики разделяли технологический и философский аспекты. Все, что касалось развития вычислительной техники как таковой, признавалось нужным и полезным.

Осенью 1952 г. в МГУ появился новый профессор — Алексей Андреевич Ляпунов. 29 октября 1952 г., в разгар семестра, он начал читать свой легендарный курс "Принципы программирования"[ 12], который состоял из восьми лекций. Это были не обычные лекции, которые преподаватель читает по заранее составленным конспектам. Это была импровизация, стиль, который смущал студентов и более поздней поры, а в данном случае просто обескураживал. А.А. Ляпунов начинал свой курс, когда программистов были единицы, а то немногое, что относилось к устройству ЭВМ, было засекречено.

По свидетельству Андрея Петровича «...первую половину курса он читал довольно реферативно: в сборнике «Новости ракетной техники» (1952) была большая переводная статья, ее мы и изучали. Группа европейских ученых, которые побывали в США, познакомилась с американскими вычислительными машинами и некоторые сведения о них опубликовала. Те, кто занимался в то время становлением ракетной техники, по счастью, смотрели на дело очень широко, поэтому они подхватили сведения по вычислительной технике и включили в этот сборник"[13 ].

Позднее, в докладе на заседании Сибирского математического общества 28 октября 1981 г., посвященном памяти А.А. Ляпунова, А.П. Ершов сказал, что «Алексей Андреевич увидел программирование как объект изучения и сделал его объектом изучения. ...Реальное значение курса «Принципы программирования» не исчерпывалось приобщением некоторого числа студентов к новому виду деятельности. Во время чтения этого курса у Алексея Андреевича сложились основы операторного метода программирования — системы понятий, приведшей к символическим языкам программирования, трансляторам, теории схем программ, к тому, что ныне составляет основу программирования во всем мире«.[14 ]

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

В апреле 1954 г. под руководством А.А. Ляпунова А.П. Ершов подготовил и защитил на «отлично» дипломную работу по теме «Обращение матриц». В своем отзыве Алексей Андреевич писал: "Работа должна быть опубликована в одном из наших математических журналов«[15 ]. Так в «Докладах Академии наук СССР» появилась первая серьезная публикация начинающего ученого, представление которой поддержал также академик С.Л. Соболев[16 ].

С октября 1953 г. Ершов совмещал учебу в МГУ с работой в Институте точной механики и вычислительной техники АН СССР (ИТМиВТ) — сначала в должности лаборанта, инженера, затем, после окончания МГУ — младшего научного сотрудника. В это время институтом руководил академик С.А. Лебедев, основоположник отечественной вычислительной техники. В марте 1955 г. А.П. Ершов составил программу обращения матрицы до 63 порядка для БЭСМ АН СССР: машина готовилась к очередной сдаче Государственной приемной комиссии[17 ]. В мае 1954 г. А.П. Ершов сдавал государственные экзамены, затем, по предложению С.А. Лебедева прочитал короткий курс программирования для ведущих инженеров института и проэкзаменовал их.

В студенчестве Андрей Ершов продолжал заниматься спортом, много времени уделял комсомольской работе (он был членом бюро курса). Любил музыку, театр, сам играл на гитаре. Свой музыкальный дар он унаследовал по материнской линии: многие Успенские были отличными певцами. Татьяна Константиновна сожалела, что он не развил этот свой дар, но все, кто работал с Ершовым, помнят его пение под гитару.

В университетские годы Андрей Ершов связал свою судьбу с однокурсницей Ниной Михайловной Степановой. Сдержанная Нина Михайловна не рассказывала, как это произошло, как симпатия переросла во взаимную привязанность. Они вместе готовились к экзаменам, объединяя свои конспекты в «учебное пособие», ходили на концерты и в лыжные походы. Поженились на четвертом курсе: студенческая свадьба в общежитии, танцы, застолье, скромные подарки, хранимые по сей день. Некоторое время молодожены Ершовы жили в разных общежитиях. Когда Ершов стал аспирантом, получил комнату, в которой поселился с семьей (сын Василий родился в 1953 г.).

Научная карьера: московский период

А.П. Ершов окончил МГУ и получил диплом с отличием. Выпуск 1954 года считается первым в СССР массовым выпуском специалистов по программированию: Э.З. Любимский, В.С. Штаркман, И.Б. Задыхайло, В.В. Луцикович, О.С. Кулагина, Р.И. Подловченко, Н.Н. Рикко и другие известные в будущем программисты. После окончания университета А.П. Ершов поступил в аспирантуру к А.А. Ляпунову на кафедру вычислительной математики, продолжая работать в ИТМиВТ. В 1955 г. был создан Вычислительный центр АН СССР, его возглавил академик А.А. Дородницын. Всю группу программистов из ИТМиВТ перевели туда. С октября 1955 по октябрь 1957 г. А.П. Ершов занимал должность старшего инженера лаборатории программирования, руководимой В.М. Курочкиным, затем стал заведующим отделом теоретического программирования.

Аспирантский период был ознаменован началом работы над программирующей программой — транслятором[18 ] для Большой электронной счетной машины АН СССР (БЭСМ). Автоматизация программирования, основанная на идеях Х. Рутисхаузера и А.А. Ляпунова, привела к разработке языков программирования и методов их трансляции. Вскоре именно в этой области А.П. Ершовым и руководимыми им коллективами были получены значительные научные результаты.

Идея построения программирующей программы (ПП), целиком автоматизирующей один из этапов программирования, принадлежала Э.З. Любимскому и С.С. Камынину[19 ]. Они изложили основные принципы построения такой программы и некоторых алгоритмов программирования в октябре 1954 г. на семинаре профессора А.А. Ляпунова. А.П. Ершов же стал руководителем проекта и создателем одних из первых советских ПП для ЭВМ БЭСМ и «Стрела», которые полностью автоматизируют значительную часть процесса составления программ.

В 1956 г. А.П. Ершов выступил с докладами по автоматизации программирования на двух весьма представительных научных конференциях, характеризовавших, по его словам, "новую реальность, созданную электронно-вычислительными машинами«.[20 ] На конференциях были представлены основные научные результаты в области программирования: операторный метод А.А. Ляпунова, первые трансляторы, крупноблочное программирование Л.В. Канторовича, технология программирования и решения задач на ЭВМ[ 21].

К декабрю 1956 г. А.П. Ершов подготовил рукопись монографии «Программирующая программа для быстродействующей электронной счетной машины». Она вышла в Издательстве АН СССР 13 августа 1958 г. тиражом в 4000 экземпляров. 12 сентября, через месяц, Ершов записал в дневнике: "ПП в магазинах нет! Автору слышать приятно".[22 ] Это была первая в мире монография по автоматизации программирования, которая стала заметным вкладом в развитие теории системного программирования. В 1959 г. в переводе на английский языке она вышла в издательстве Pergamon Press, издательство АН СССР подготовило также книгу на китайском языке и выпустило тиражом в 9000 экземпляров, правда, на очень плохой бумаге. В дальнейшем в работе "Об операторных алгорифмах«[23 ] А.П.Ершов впервые описал стандартные схемы, ставшие впоследствии известной моделью программирования.

Американский ученый Дональд Кнут, почетный профессор факультета информатики Стэнфордского университета США, почетный доктор многих университетов мира, в том числе Санкт-Петербургского, лауреат премии Тьюринга (1974), член Британского вычислительного общества (1980) познакомился с монографией «ПП для БЭСМ» в 1950-е гг. в студенчестве. Тогда группа его однокурсников смогла убедить преподавателя русского языка использовать эту книгу в качестве одного из двух сборников текстов для изучения научной лексики: «Для нас это был замечательный опыт работы, поскольку многие технические компьютерные термины нельзя было найти в наших словарях, и даже преподаватель о некоторых из них раньше вообще не слышал!» — писал Кнут, — «Мы почувствовали, что видим настоящий русский язык в том виде, в каком он действительно используется в науке; книга произвела на нас намного более сильное впечатление, чем текст, в котором говорилось о спутниках и исследовании космоса» [24 ].

Осенью 1958 г. Андрей Петрович впервые побывал за рубежом. По традиции, первый выезд был в страну «народной демократии» — Венгрию. Цель командировки: посещение ряда научных организаций, в том числе Института кибернетики; выступление с докладами; развитие научных контактов. Затем последовала поездка в Великобританию для участия в симпозиуме «Механизация процессов мышления», организованном Национальной физической лабораторией в Теддингтоне. Во время этой поездки А.П. Ершов познакомился с Дж. Маккарти, дружба с которым выдержала испытание в период «холодной войны». А.П. Ершов, единственный из шести членов делегации, выступал на симпозиуме на секции «Автоматизация программирования» с описанием программирующей программы для машины "Стрела-3«[25 ]. Его доклады о первых советских трансляторах слушали Г. Хоппер и Дж. Бэкус. По возвращении он доложил о своей поездке на знаменитом Большом семинаре А.А. Ляпунова в Московском университете предположительно 26 декабря 1958 года[26 ]. Забегая вперед, отметим, что следующая поездка за рубеж — в США — состоялась только через 7 лет. По приглашению академика С.Л. Соболева с 1 апреля 1960 г. А.П. Ершов перешел на работу в Сибирское отделение АН СССР. Он возглавил коллектив программистов, став заведующим отделом теории алгоритмов и программирования сначала в Институте математики с Вычислительным центром, затем — с 1964 г. — в Вычислительном центре СО АН СССР.

Еще в Москве А.П. Ершов начал развивать личные контакты с зарубежными учеными. Он впервые познакомился с американскими коллегами, когда те посетили ВЦ АН СССР в конце августа — начале сентября 1958 г. Это были Джон Вебер Карр III, профессор математики Мичиганского университета, Алан Перлис, профессор Технологического университета Карнеги из Питтсбурга и главный редактор «Communications of the ACM», другие ученые[27 ]. Именно А. Перлис познакомил советских ученых с языком программирования Алгол[ 28]. А. Перлис интересовался вопросами автоматизации программирования, они много беседовали с А.П. Ершовым, обменялись адресами, завязалась переписка и обмен научной литературой.

Благодаря переписке от имени АН СССР с активистами Международной федерации по обработке информации, А.П. Ершов познакомился ближе с такими известными учеными как Петер Наур, издатель и редактор «Алгол-бюллетеня»; Клаус Замельзон и Фридрих Бауэр, профессора Мюнхенского технического института; Эдвард Фейгенбаум из Национальной физической лаборатории в Теддингтоне и другими. После того, как монография А.П. Ершова «Программирующая программа для БЭСМ» была переведена на английский язык, после ряда личных встреч с американскими и европейскими учеными, А.П. Ершов и его работы постоянно находились в центре внимания программистского сообщества. Зарубежные коллеги видели в нем прекрасного специалиста, общительного и открытого человека. Он получал приглашения от американских ученых приехать в США для чтения лекций, посещения научных институтов и вычислительных центров на любой срок и на самых выгодных условиях. По почте ему присылали много интересной литературы по программированию, выходившей на Западе, которую нельзя было приобрести по коммерческим каналам.

В конце августа 1959 г. А.П. Ершов был назначен исполняющим обязанности ученого секретаря комиссии по международным связям ВЦ АН СССР[29 ]. Он занимался подготовкой планов и предложений по сотрудничеству с капиталистическими странами и странами народной демократии, организацией обмена специалистами, приобретением научной литературы, организацией экскурсий по ВЦ АН для иностранных специалистов, перепиской как с отдельными учеными, так и с общественными организациями и государственными учреждениями. Это был период, когда специалисты в области обработки информации из-за рубежа стремились попасть в Советский Союз, чтобы познакомиться с работой своих советских коллег. К А.П. Ершову обращались с просьбойпомочь встретиться с советскими учеными, чтобы обсудить вопросы, связанные с теорией программирования и ее практическим применением.

Во второй половине 1950-х гг. А.П. Ершов приступил к подготовке диссертации на соискание ученой степени кандидата физико-математических наук. Первые кандидатские диссертации, связанные с использованием ЭВМ, были написаны в начале 1950-х. Защиты проходили в ученых советах по физико-математическим и техническим наукам по таким специальностям, как вычислительная математика, счетно-решающие устройства. Первая диссертация, посвященная расчетам равноустойчивых грунтовых откосов с использованием ЭВМ, была защищена в 1953 г. заместителем директора Института точной механики и вычислительной техники АН СССР (ИТМиВТ) И.С.Мухиным[ 30]. Эта работа открыла путь серии прикладных исследований, которые демонстрировали возможности вычислительной техники.

С программированием дело обстояло сложнее. Программистам нужно было доказывать научную составляющую своих работ перед «закоренелыми тупо-математическими умами», по резкому, но точно передающему атмосферу того времени, выражению академика В.М. Глушкова[31 ]. Многие математики, особенно специалисты по вычислительной математике, считали тогда, что единственная роль программистов — это обслуживать потребности вычислителей. Они не признавали существования в программировании внутренней проблематики. Мнение, что программирование — не самостоятельная научная дисциплина, а обслуживающая деятельность, было достаточно распространено. Характерно замечание сотрудника Института математики СО АН СССР, профессора М.И. Каргополова: «Вот до сих пор существовала, так сказать, теоремная математика, а теперь появилась этакая «бестеоремная» математика"[32 ]. Характерны впечатления А.П. Ершова от защиты кандидатской диссертации О.С. Кулагиной, специалиста в области автоматической обработки текстов на естественных языках: "Вечером (07.04.1959) защищалась Оля Кулагина. 14 за, один недействительный. Удовлетворение было испорчено непониманием (со слов Алексея Андреевича [Ляпунова]) значительной частью Ученого совета во главе с Келдышем даже основ этой проблематики"[ 33].

Не случайно Андрей Петрович Ершов, будучи уже автором книги о программирующей программе для БЭСМ, "не счел возможным представить ее в качестве кандидатской и переключился на подготовку диссертации по операторным (вычислительным) алгоритмам, как «имеющей более «математическое» содержание«[34 ]. Принимая подобное решение, Ершов не подозревал, что этот шаг не избавит его от проблем с защитой диссертации.

В начале 1958 г. Ершов подготовил несколько докладов для выступления на совещании по вычислительной математике и применению средств вычислительной техники в Баку[35 ]. Доклад «Об одном методе программирования арифметических операторов» содержал описание линейной открытой адресации, названное впоследствии хешированием (hashing). Этот весьма важный для программирования результат был получен Ершовым независимо от его зарубежных коллег[36 ]. Более подробно его исследования в этой области были изложены в статье для Докладов Академии наук СССР, переведенной тогда же на английский язык[37 ].

После Бакинской конференции А.П. Ершов несколько раз выступил на методологическом семинаре по математической логике у профессора С.А. Яновской. Здесь он встретился с известным алгебраистом А.А. Марковым-младшим, который также руководил этим семинаром, и просил его быть оппонентом на защите диссертации. Летом А.А. Марков дал свое согласие. 25 августа 1958 г. А.П. Ершов преподнес А.А. Ляпунову свою монографию о программирующей программе для БЭСМ, тот был искренне удивлен, когда Андрей Петрович сообщил, что не будет защищать диссертацию на ее основе: "Усложняете себе жизнь«[38 ]. Но он отнесся с пониманием к молодому ученому. Алексей Андреевич по-отечески опекал А.П. Ершова и торопил его с оформлением диссертации, советовал включить в нее только первую статью по операторным алгоритмам. 16 октября 1958 г. Ершов начал писать автореферат.

Кандидатская диссертация продвигалась трудно, поскольку А.А. Марков надолго задерживал рецензируемую рукопись. Однако когда замечания поступали, А.П. Ершов очень внимательно к ним относился, писал в дневнике: «Сегодня весь день, не считая маленького воскресника по посадке деревьев, вносил исправления в диссертацию в соответствии с замечаниями Андрея Андреевича. У него для 50 страниц набралось 28 замечаний. Подавляющее большинство из них легко учитываются. Несмотря на то, что он сильно подвел меня в сроках, я ему все же очень благодарен. После его чтения работа будет почти безупречной» Разговор с А.А. Марковым показал, что тому не нравится программистский сленг: «изменяющиеся» программы, переменные команды и т.п. Андрей Петрович сетовал на предложение А.А. Маркова исключить из введения разделы, касающиеся сопоставления вычислительных и традиционных алгоритмов, сделать введение менее «программным». "Кое в чем он прав, особенно, когда говорит о неточности программистской терминологии, но, кажется, некоторых вещей он не понимает"[39 ].

Через некоторое время, по-видимому, разногласий накопилось так много, что А.А. Марков отказался от своих обязательств по оппонированию. Разочарование А.П. Ершова было настолько велико, что он отложил защиту, хотя реферат был подготовлен и напечатан.[40 ] Для него наступали новые времена: он был поглощен предстоящим переездом в Новосибирский Академгородок. И, наконец, 31 января 1961 г.: "Уезжаем из Москвы. ... Едем навстречу новой жизни«[41 ].

Новосибирск: становление научной школы программирования

А.А. Ляпунов, который также переехал в Новосибирск в последние дни сентября 1961 г., всячески пытался помочь А.П. Ершову: работа готова, необходимо лишь соблюсти некоторые формальности. Весьма лестный отзыв А.А. Ляпунов написал еще в 1958 г.[42 ] Он подчеркнул, что работа имеет большое значение как важный шаг в разработке теоретических аспектов программирования. 28 октября 1961 г. Ученый совет СО АН СССР принял диссертацию А.П. Ершова к защите[43 ]. В соответствии с предварительными договоренностями Ю.И. Журавлев, Л.А. Калужнин и А.И. Мальцев были назначены официальными оппонентами. Автореферат был разослан своевременно. Защита диссертации, представленной А.П. Ершовым в Объединенный ученый совет по физико-математическим и техническим наукам СО АН СССР на соискание ученой степени кандидата физико-математических наук на тему «Операторные алгорифмы», была назначена на 24 января 1962 г. на 10 часов утра. Она проходила в конференц-зале Института гидродинамики СО АН СССР, тогда еще единственного полностью отстроенного[44 ].

Защита диссертаций в области информатики и программирования стала признанием важности этого направления науки. Первое время диссертации принимались к защите Учеными советами механико-математического и физического факультетов МГУ, в Математическом институте им. В.А. Стеклова АН СССР, в Институте математики с Вычислительным центром СО АН СССР, в Институте кибернетики АН УССР. В середине 1960-х годов, после появления серии диссертаций по теоретическому программированию, среди которых были работы Э.З. Любимского, Ю.И. Янова (1957), О.С. Кулагиной (1959), С.П. Криницкого, Р.И. Подловченко (1960), в Высшей аттестационной комиссии было принято решение об образовании специальности "Математическая логика и программирование«[45 ].

Теоретическая и практическая работа А.П. Ершова и руководимых им коллективов по созданию трансляторов и других программных процессоров осуществлялась в период с 1955 по 1976 гг. и была весьма насыщенной и результативной. В этот период была создана программирующая программа для БЭСМ (1955–1957 гг.), транслятор для машины «Стрела» (1957–1959 гг.), предложено расширение Алгола 58, впоследствии модифицированное во входной язык Альфа (1958–1960 гг.), его реализация для ЭВМ М-20 в системе программирования Альфа (1960–1964 гг.), язык системного программирования Эпсилон (1965–1968), экспериментальный макропроцессор Сигма (1966–1969 гг., 1985 г.), реализации Альфа-языка для БЭСМ-6 Алгибр (1966–1968 гг.) и Альфа-6 (1970–1976 гг.), большой и широко задуманный проект БЕТА[46 ].

Днем рождения Отдела программирования Института математики с вычислительным центром СО АН СССР считается 1 ноября 1958 г., когда И.В. Поттосин был назначен и.о. заведующего отделом и приехал в Новосибирск. К началу 1961 г. отдел программирования ИМ с ВЦ СО АН СССР полностью перебрался в Новосибирск. Андрей Петрович еще некоторое время оставался в Москве. Он с семьей приехал в Новосибирск 3 февраля 1961 г. Отдел разместился в жилом доме на Морском проспекте (сейчас № 58, тогда 5-В) в двух квартирах на четвертом этаже. А.П. Ершов обосновался на кухне. В Новосибирске в полной мере сказался его талант организатора: он окунулся с головой в институтские дела, формируя стиль работы, стараясь сплотить людей. Его становлению как руководителя способствовали не только деловые качества, высокая требовательность к себе, которая давала ему право требовать с других, но и такие черты характера, как доброжелательность, открытость, такт, а также сознательное желание постичь науку управления. Сотрудники, проработавшие с ним бок обок много лет, ни разу не слышали, чтобы он повысил голос на своего подчиненного.

Незадолго до отъезда в Новосибирск Андрей Петрович обратился к своему старшему коллеге М.Р. Шура-Буре, возглавлявшему отдел автоматизации программирования в Институте прикладной математики АН СССР (ныне ИПМ РАН им. М.В. Келдыша). Тот преподал Ершову уроки управления отделом, которые касались кадрового состава, организации рабочего времени, планирования научно-исследовательской работы и других составляющих функционирования коллектива. Кроме того, Андрей Петрович самостоятельно осваивал навыки руководителя научного подразделения, изучая специальную литературу на эту тему в "Вестнике АН СССР"[47 ].

В Новосибирске коллектив, возглавляемый А.П. Ершовым, продолжил работу над созданием транслятора для ЭВМ М-20. Костяк коллектива составили Г.И. Бабецкий, М.М. Бежанова, Ю.М. Волошин, Б.А. Загацкий, Л.Л. Змиевская, Г.И. Кожухин, С.К. Кожухина, Р.Д. Мишкович, И.В. Поттосин, Л.К. Трохан. Они были сверстниками, выпускниками различных вузов: Московского университета, как Ершов, Змиевская и Трохан, Томского — Поттосин, Кожухин, Бабецкий, Рижского — Волошин, Горьковского — Бежанова.[48 ]

Начало работы над новой системой программирования, будущим Альфа-транслятором, относится к концу 1959 г., когда А.П. Ершов выступил на Всесоюзной конференции по вычислительной математике с докладом на тему "Какой должна быть следующая программирующая программа?"[49 ]. Этот доклад стал своего рода идейным проектом, концепцией новой системы. В докладе излагались некоторые основные идеи о построении программирующей программы с высоким качеством работы, базирующейся на богатом входном языке, не зависящем от особенностей конкретных машин, удобном для формулирования задач вычислительной математики. В дальнейшем А.П. Ершов использовал этот организационный прием: первым шагом в каждом новом проекте была идейная сторона дела, очерчивание круга первоочередных научных и организационных задач.

Работа над системой автоматизации программирования шла в двух направлениях: поиск входного языка системы и изучение мирового опыта по автоматизации программирования. Сотрудник отдела Ю.М.Волошин составил обширную библиографию по автоматизации программирования[50 ]. Она включала 93 работы советских авторов и 435 зарубежных изданий. Работу издали тиражом в 600 экземпляров, 200 из которых сотрудники отдела разослали за рубеж с тем, чтобы заинтересовать проблемой коллег из других стран. В этом деле большую поддержку оказал П. Наур, прислав список адресов. В ответ зарубежные ученые присылали свои отчеты и статьи. При разработке проекта А.П. Ершов и его коллеги стремились осмыслить и использовать все лучшие на тот момент идеи в автоматическом программировании.

Еще в Москве вчерне был разработан входной язык системы. Андрей Петрович вспоминал: "Хотя мы в то время еще все работали в Москве, но чувствовали себя сибиряками, и поэтому новый язык получил название "Сибирского«.[51 ] В 1958 г. в Communications of the ACM был опубликован предварительный отчет «Сообщение об алгоритмическом языке Алгол» под ред. А.Дж. Перлиса и К. Замельзона. А.П. Ершов собственноручно перевел этот отчет в течение 1959 г. [52 ] В начале следующего года А.П. Ершов и Г.И. Кожухин перевели на русский язык «Сообщение об алгоритмическом языке Алгол 60» — новую версию проекта языка, опубликованную под редакцией П. Наура[53 ]. В процессе работы над переводом, когда стало очевидно, что у Алгола и Сибирского языка много общего, Ю.М.Волошин и Г.И. Кожухин адаптировали стилистику Сибирского языка к алгольной. Сибирский язык стал некоторым расширением Алгола под названием "Входной язык«[54 ], затем он получил более благозвучное имя — язык Альфа. Завершение работы над входным языком позволило перейти к созданию самого транслятора.

В конце января 1965 г. в ВЦ СО АН состоялся всесоюзный семинар по автоматизации программирования, организованный Комиссией по эксплуатации вычислительных машин М-20. На семинаре были обсуждены основные научные итоги разработки Альфа-транслятора. Многие участники семинара — представители промышленности, впоследствии стали пользователями этой системы. В конце 1964 г. А.П. Ершова пригласили выступить с докладом об Альфа-трансляторе на симпозиуме «Построение процессоров для языков программирования» Конгресса IFIP-65.

4 мая 1967 г. в математической секции Объединенного ученого совета по физико-математическим и техническим наукам Сибирского отделения АН СССР состоялась защита докторской диссертации А.П. Ершова "Некоторые вопросы теории программирования и конструирования трансляторов"[55 ] Официальными оппонентами были академик В.М. Глушков, чл.-корр. А.А. Ляпунов, чл.-корр. С.С. Лавров и д.ф.-м.н. М.Р. Шура-Бура. Впоследствии, поздравляя А.П. Ершова с успешной защитой, его коллега из Стэнфорда профессор Э. Фейгенбаум выразил свое восхищение "интеллектуальной мощью представленного состава оппонентов"[ 56]. Ученых, защитивших докторскую диссертацию по программированию в те годы, было всего трое: Е.Л. Ющенко (защищалась по опубликованным работам в 1965 году)[57 ], М.Р. Шура-Бура (1954), Л.Н. Королев (1967)[58 ].

В 1967 г. на ВЦ СО АН СССР появилась самая мощная отечественная ЭВМ для научных расчетов — БЭСМ-6 (заводской № 003).[59 ] Потребовалось модифицировать Альфа-систему для трансляции программ, записанных на Альфа-языке, в машинные программы для ЭВМ БЭСМ-6. Такая модификация была разработана сотрудниками ВЦ АН СССР и ВЦ СО АН СССР в 1968 году. Это был транслятор Алгибр (или Альгибр) — Альфа-гибридный, который был включен в состав первой очереди математического обеспечения БЭСМ-6 и являлся одним из первых отечественных кросс-трансляторов[60]. Транслятор Алгибр работал на ЭВМ М-20 и либо выдавал на перфокарты программу в коде команд БЭСМ-6, либо записывал ее на магнитную ленту для передачи на ЭВМ БЭСМ-6 по специальному каналу. Это решение не подходило для серийного пользователя, возникла потребность в новом программном продукте, им стала система Альфа-6.

Системы Альфа-6 для ЭВМ БЭСМ-6 создавалась в ВЦ СО АН в 1970—1974 гг. коллективом, костяк которого составили студенты-старшекурсники и выпускники мехмата НГУ под руководством А.П. Ершова, Г.И. Кожухина и И.В. Поттосина. Это был оптимизирующий многопроходной транслятор, действовавший на БЭСМ-6 в режиме пакетной обработки в рамках операционной системы ДИСПАК. При создании системы использовался опыт разработки и эксплуатации систем программирования Альфа и Альгибр. Основные исполнители этого проекта: И.Н. Аникеева, А.О. Буда, С.Ф. Богданова, Т.С. Васючкова, А.А. Грановский, П.А. Ким, С.Э. Козловский, С.К. Кожухина, А.Е. Хоперсков, В.И. Шелехов, Т.С. Янчук[ 61]. Работа в проекте способствовала профессиональному и научному становлению многих молодых участников.

Дальнейшая эволюция теории и практики трансляции и реализации языков программирования в коллективе, возглавляемом А.П. Ершовым, связана с проектом БЕТА.[62] Задача и общая идеология проекта БЕТА состояли в создании универсального программирующего процессора, реализующего в одной системе программирования несколько входных алгоритмических языков с возможностью выполнения рабочих программ на вычислительных системах, состоящих из нескольких процессоров над общей памятью.[63 ] Она была теоретически обоснована А.П. Ершовым в 1968 г.

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

Изначально разработка Внутреннего языка (ВЯЗа) была поручена А.А. Берсу. На нескольких семинарах шло обсуждение предложенного им варианта. В какой-то момент А.П. Ершов понял, что вариант А.А. Берса приобретает черты "идеальной разработки, которая могла быть принята в случае создания входного языка и целевой машины, как симбиоза с Внутренним языком"[64 ]. Он предложил поручить разработку параллельного, более практичного варианта ВЯЗа кому-либо еще. Была предложена кандидатура начинающего исследователя М.И. Шварцмана. Однако тандем А.А. Берс — М. И. Шварцман не сложился, отношения между двумя разработчиками внутреннего языка были напряженными. В 1973 г. М.И. Шварцман покинул проект, эмигрировав из СССР, а А.А. Берс вскоре увлекся переводом Алгола-68 и отказался от разработки ВЯЗа.

Краткий период времени (1973–1974 гг.) разработкой ВЯЗа занимался В.К. Сабельфельд. Затем — С.Б. Покровский. Ему в содружестве с Г.Г. Степановым удалось реализовать подмножество Фортрана, что "дало некоторый каркас, на который понемногу наращивалась плоть сообразно с потребностями подключаемых входных или выходных языков или алгоритмов оптимизации. Язык был, наконец, зафиксирован в виде структур данных".[65 ] В этот период проектом, который приобрел статус глобального эксперимента, уже руководил И.В. Поттосин (после реорганизации ВЦ в 1976 г. И.В. Поттосин возглавил отдел программирования, А.П. Ершов — отдел информатики).

Доверие со стороны А.П. Ершова и его коллег к начинающим ученым, программистам в сложных ситуациях — немаловажный фактор проекта БЕТА. Он выполнялся тремя поколениями программистов, и именно молодым в итоге удалось его завершить. Усилия С.Б. Покровского, Г.Г. Степанова, Л.А. Захарова, С.В. Тена, О.Б. Томе и других позволили разработать технологию совместной реализации важнейших алгоритмических языков общего назначения[66 ]. Система БЕТА была реализована для языков Симула-67, Паскаль, Модула-2, Ада (подмножество) и выходных машин БЭСМ-6 и СМ-4.

Еще один итог проекта БЕТА — расширение круга научных интересов самого А.П. Ершова. "Болезненный опыт реализации таких сложных языков как ПЛ/1 и Алгол 68«[67 ] поставил перед ним задачу поиска решения проблем трансляции. В 1976 г. А.П. Ершов пришел к идее смешанных вычислений[ 68]. У этой идеи были предшественники: Й. Футамура, В.Ф. Турчин, Л.А. Ломбарди, но именно А.П. Ершов увидел в смешанных вычислениях многообещающее средство единого описания и обоснования таких сущностей трансляции, как задачи оптимизации и генерации.

В 1980 г. в Массачусетсе М.И. Шварцман, создав компанию Language Processors, Inc. (LPI), осуществил проект, который он назвал «интеллектуальным отпрыском» БЕТЫ — LPI Multi-Language Family of compilers (LPI—MLF). По-мнению создателей, LPI-MLF стала "первой практически успешной многоязыковой компилирующей системой"[69 ]. В Новосибирске традиции многоязыковой трансляции продолжены в биязыковой системе программирования XDS (языки Модула-2/Оберон-2). Ее создателем стал молодежный коллектив Excelsior, выделившийся в начале 1990-х гг. из состава ВЦ СО РАН.[70 ] Проект БЕТА, запланированный как комплекс методологических и экспериментальных исследований, не привел к созданию работающей системы, но идейно предвосхитил программные технологии, появившиеся в конце XX века.

В дальнейшем тематика исследований отдела расширялась, очевидно, здесь впервые в стране были осознанны и реализованы новые возможности общения с ЭВМ с помощью систем разделения времени. В начале 1960-х годов на Западе, а через несколько лет и в Советском Союзе начались работы по созданию операционных (управляющих) программных систем для ЭВМ с аппаратной поддержкой многозадачности и управления параллельной работой устройств, обеспечивающих удаленный доступ к системе со стороны множества терминалов. В 1961 г. в США уже начали работать первые макеты экспериментальных систем разделения времени (СРВ) малой мощности. В середине 1960-х годов во всем мире насчитывалось около 200 универсальных и специализированных СРВ.

В СССР несколько коллективов вели разработку операционных систем: Объединенный институт ядерных исследований в Дубне, Институт кибернетики АН Украины, Институт прикладной математики АН СССР в Москве и др. В Новосибирском Академгородке под научным руководством А.П. Ершова была проведена работа по созданию архитектуры таких вычислительных комплексов и их программного обеспечения в рамках проекта АИСТ — Автоматическая Информационная СТанция (1967–1972).

Актуальность разработки системы среднего класса А.П. Ершов основывал на сделанном им прогнозе длительной массовой эксплуатации вычислительных машин М-220 и их модификации — примерно до 1980 г. Обладатели этих машин были заинтересованы в использовании своей техники в соответствии с современными тенденциями. Г.И. Марчук, который поддержал проект, и А.П. Ершов были дальновидны в своих прогнозах. Они считали, что "промышленное производство дополнительных устройств комплексирования машин М-222 (модернизация М-220) в многомашинную систему типа АИСТ-0, допускающую работу как в комплексе, так и в режиме разделения времени, позволит до некоторой степени удовлетворить острые потребности народного хозяйства в такого рода системах«.[71 ]

Система АИСТ явилась прообразом современных разветвленных информационных сетей. Она опережала свое время по многим параметрам: это и более удобные возможности методов взаимодействия «человек — машина», и расширение круга пользователей, и новая система учета и сбора данных. Но, как выяснилось уже в процессе создания системы, наша промышленность не могла обеспечить потребности проекта необходимым объемом оборудования, особенно периферийного. Работа над системой АИСТ-0 выявила еще одну важную проблему: нехватку квалифицированных кадров системных программистов (обеспеченность ими составляла в целом по стране 30 %).[72 ]

«Внутренняя сдача» АИСТа-0 состоялась летом 1971г. В рамках АИСТа-0 была впервые в Советском Союзе создана операционная система управления многопроцессорной работой однородных устройств на общей памяти. Помимо мультипроцессорности АИСТ-0 внес большой вклад в разработку таких концепций, как система готовности для динамического распределения доступных ресурсов, а также в являющиеся сейчас уже общепринятыми понятия иерархии процессов и связь между процессами. В проекте были впервые построены и опробованы многовходовые программы. В 1973 г. система АИСТ-0 была передана в Кемеровский государственный университет.[73 ] На ее основе создан Вычислительный центр КГУ (ныне Центр новых информационных технологий).

Опыт, приобретенный в ходе разработки архитектуры и программного обеспечения системы АИСТ-0, в дальнейшем положительно сказался на других проектах новосибирской школы программирования. ВЦКП — вычислительный центр коллективного пользования — следующий сетевой проект. В этом проекте также тесно сплетались научные и инженерные задачи. Он выполнялся с 1976 по 1984 г. Главная задача проекта — объединение в единую сеть ЭВМ высокой производительности (ЭВМ ЕС, БЭСМ-6, Эльбрус) и малых машин типа М7000.[74 ] А.П. Ершов, который в 1970 г. был избран в АН СССР, стал членом-корреспондентом, являлся несомненным лидером, генератором идей, обладателем своеобразного научного стиля.

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

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

Научно-организационная и преподавательская деятельность А.П. Ершова

Научная школа академика А.П. Ершова характеризуется наличием и сохранением традиций и взаимоотношений в научной среде, которые позволяли ей поддерживать профессиональные формальные и неформальные контакты с ближайшим и дальним научным окружением. Научные конференции актуальной тематики, которые организовывались А.П. Ершовым в СССР, часто проходили при участии ведущих зарубежных ученых, материалы их публиковались, в т.ч. на английском языке в таком известном периодическом издании, как Lecture Notes in Computer Science издательства Springer — Verlag.

А.П. Ершов был лидером программистского сообщества не только Новосибирского Академгородка, но и всей страны. Как признанный эксперт он работал в комитетах и комиссиях ГКНТ и АН СССР по подготовке государственных и отраслевых программ научно-технического развития (в части математического обеспечения ЭВМ, подготовки кадров системных программистов). Много лет он возглавлял Комиссию по системному математическому обеспечению АН СССР (1979-1988). А.П. Ершов принимал участие в разработке Программы исследований АН СССР по важнейшим фундаментальным проблемам на период 1976-1990 гг. «Математические и физические основы развития электронных вычислительных машин», других программ научно-технического развития.

На протяжении всей научной деятельности А.П. Ершов придавал большое значение информационному обеспечению своих коллег. Он стал основателем специализированной библиотеки ВЦ СО АН СССР, перешедшей затем в ИСИ СО РАН. В знак уважения к А.П.Ершову как ученому и автору нескольких монографий, опубликованных в издательстве Шпрингер, это издательство бесплатно посылало ему свою известную серию Lecture Notes in Computer Science. В настоящее время продолжается поступление в библиотеку книг издательства по информатике, программированию, искусственному интеллекту, биоинформатике.

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

В процессе подготовки национальной версии Алгола 68 к печати выяснилось, что отечественные типографии не готовы к изданию сложного в полиграфическом отношении текста на двух языках, когда надо было использовать шесть гарнитур шрифта и затем сверстать текст. Так из практической потребности возник проект САПФИР — Система автоматизированной подготовки фотонаборных изданий, обеспечивающих редактирование. Он выполнялся в 1975—1980 гг. совместно с Первой образцовой типографией им. А.А. Жданова в Москве и по ее заказу[75 ]. Главным конструктором проектов был А.А. Берс.

А.П. Ершов состоял членом редколлегий многих отечественных и зарубежных журналов, был главным редактором журнала «Микропроцессорные средства и системы». Его статьи в специальных справочных изданиях формировали категориальный аппарат информатики, он ввел в научный оборот термин информатика для обозначения науки, связанной со способами обработки, хранения и передачи информации с помощью ЭВМ.

По-мнению коллеги и давнего друга К. Костера (Нидерланды) А.П. Ершов придерживался того взгляда, "что ученые, к какому бы политическому лагерю они не принадлежали, всегда ощущают острую потребность в информации и сотрудничестве, в обоюдном гуманизме, в необходимости открытости, сотрудничества и уважения. Он верил в братство ученых и в их ответственность перед обществом. Вместе со многими другими западными учеными он, как представляется, решительно отказывался принимать господствовавшее тогда разделение мира на два непримиримых политических лагеря. Он хотел сделать российскую науку свободной, открыть ей двери во внешний мир«[76 ].

На этих принципах базировалась деятельность А.П. Ершова в Международной федерации по обработке информации. Работа А.П. Ершова в IFIP, членом которой он стал в 1962 г., складывалась по нескольким направлениям: инициирование вступления АН СССР в эту организацию; участие в организации и проведении Конгрессов IFIP, в деятельности Рабочей группы 2.1 по Алголу Технического комитета 2 по программированию, в работе самого ТК 2, в подготовке и проведении рабочих конференций IFIP, в выступлении на форумах IFIP с докладами.

А.П. Ершов принимал участие в шести конгрессах IFIP и как докладчик, и как организатор, им были организованы два заседания IFIP в Новосибирске. В 1980 г. за плодотворную деятельность в IFIP А.П. Ершов был награжден «Серебряным сердечником» (Silver Core) — высшим знаком отличия этой международной организации. Попытки отдельных ученых, таких как А.П. Ершов, поддерживать достойное представительство своей страны на международном уровне, сталкивались с проблемами. Одной из основных была проблема финансирования поездок, другой — отставание советской вычислительной науки от мирового уровня, когда отдельные новационные исследования не могли изменить общей картины. А.П. Ершову приходилось слышать нелицеприятные мнения зарубежных коллег о советском строе и советской идеологии. Он сам неоднократно писал о недостатках в развитии отечественной вычислительной техники, слабом внимании АН СССР к разработкам математического обеспечения ЭВМ, и.т.п. Но в случае идеологической полемики он был на стороне своего государства. Его лояльность объяснялась твердой убежденностью в том, что ученые, которые имеют возможность непосредственного общения, принесут гораздо больше пользы своей науке и стране. Он дорожил этой возможностью[77 ].

В 1984 г. А.П. Ершов был избран действительным членом АН СССР. Он стал первым программистом, избранным в Академию наук по Отделению информатики, вычислительной техники и автоматизации. Много сил А.П. Ершов отдавал подготовке программистов. Эта его деятельность осуществлялась по трем основным направлениям: педагогическая, организационно-административная и аналитическая работа. Она охватывала поначалу две возрастные категории: студентов и начинающих исследователей. Впоследствии А.П. Ершов возглавил движение в нашей стране за обучение программированию со школьной скамьи. Преподавательская работа А.П. Ершова началась в Москве, в Московском государственном университете. Он вел занятия по математическому анализу, читал курс программирования, руководил курсовыми и дипломными работами: в 1955 г. у него появились первые дипломники и аспирант из Китая.

По приезде в Новосибирск А.П. Ершов сразу же включился в преподавательскую деятельность в НГУ. Он читал курс программирования на кафедре вычислительной математики механико-математического факультета НГУ, руководил практикой и дипломными работами студентов. С начала преподавательской деятельности в НГУ А.П. Ершов возглавлял отделение программирования. Это отделение являлось неформальным структурным подразделением кафедры вычислительной математики. В 1966 г. была создана кафедра теоретической кибернетики (А.А. Ляпунов), отделение неформально вошло в ее состав. Официально отделение оформилось в 1976 г. в составе кафедры вычислительной математики (Г.И. Марчук).

На кафедре теоретической кибернетики А.П. Ершов занимал должность заместителя заведующего, а после кончины А.А. Ляпунова сменил его на посту заведующего в 1973 г. В 1969 г. А.П. Ершов был избран на должность профессора кафедры теоретической кибернетики и стал членом Ученого совета ММФ НГУ (1969-1987). В марте 1976 г. он занял должность заместителя заведующего кафедрой и заведующего отделением программирования на кафедре вычислительной математики. Кафедра программирования, за организацию которой на ММФ ратовал А.П. Ершов, открылась в 1993 г., а в 2000 г. был образован факультет информационных технологий.

Под руководством А.П. Ершова в 1966-1988 гг. было защищено 39 кандидатских диссертаций. Семь ученых из этого числа впоследствии защитили докторские диссертации, двое стали членами-корреспондентами Академии наук (В.Е. Котов в России, Э.Х. Тыугу в Эстонии). Продолжая работу в России и за рубежом, они обрели своих учеников и последователей.

После реорганизации ВЦ СО АН в 1976 г. А.П. Ершов возглавил отдел информатики, а внутри отдела — лабораторию экспериментальной информатики. В лаборатории формировалось новое научное направление, связанное с исследованием проблем применения ЭВМ в школьном учебном процессе, названное школьной информатикой. Эта работа в течение времени объединила таких исследователей, как Ю.А. Первин, Г.А. Звенигородский, Н.А. Юнерман, Н.А.Садовская, Л.В. Городняя и др.

Постепенно экспериментальная деятельность сложилась в фундаментальное научное направление, в последующие годы выполняемое по заданиям государственного уровня. Работа по теме школьная информатика велась по нескольким направлениям: организация Летних (ЛШЮП) и заочной школы юных программистов, создание концепции информатизации образования, разработка пакета прикладных программ «Школьница» с привлечением студентов НГУ и школьников, прошедших подготовку в ЛШЮП. Педагогический эксперимент по обучению школьников программированию, ведет свое начало практически с момента появления самого программирования в тех местах, где открывались Вычислительные центры с одной стороны и появлялись педагоги-энтузиасты в лице школьных учителей и практиков-программистов — с другой. Деятельность А.П. Ершова и его коллектива по обучению школьников искусству программирования можно разделить на три периода:

1961–1976 — начальный экспериментальный период работы в рамках Совета по проблемам образования при Президиуме СО АН СССР и семинара «ЭВМ и учебный процесс».

1976–1984 — зарождение Летних школ юных программистов и на их основе — подготовки генерации молодых специалистов, способных выполнять серьезные проекты. Этот период ознаменовался созданием концепции информатизации образования.

1984–1988 — информатизация образования стала государственной программой. Смещением акцентов с преподавания основ информатики как программирования на пользовательский уровень в начале 1990-х годов можно считать этот период завершенным.

Период 1984-1988 гг., который по времени совпадает с последними годами жизни А.П. Ершова, необычайно плодотворен. Несмотря на тяжелое заболевание, он работал с колоссальной отдачей: подготовка документов по школьной реформе, пропагандистская работа, написание учебников, разработка типового учебного кабинета — далеко не полный перечень всех дел А.П. Ершова. Предполагалось, что А.П. Ершов продолжит работу по информатизации в рамках Научного совета АН СССР по комплексной проблеме «Кибернетика», председателем которого он был назначен в 1987г.

Научная школа информатики А.П. Ершова, сложившаяся в ВЦ СО АН СССР в 1960—1980-е гг., получила институциональное оформление и развитие. В конце 1950-х гг. в Институте математики только что организованного Сибирского отделения АН СССР был создан отдел программирования. Затем отдел вошел в состав Вычислительного центра СО АН и, наконец, его подразделения послужили основой для создания в 1990 г. самостоятельного института — Института систем информатики СО РАН.

Для научной школы А.П. Ершова, школе исследовательского типа с большими традициями прикладной деятельности, характерно сочетание зрелых и начинающих исследователей. На основе интегрального подхода к программированию, высказанного А.П. Ершовым, на идее о единстве ЭВМ и ее программного обеспечения, в середине 1980-х гг. возник проект ученика А.П. Ершова — В.Е. Котова, выполнявшийся в рамках Временного научно-технического коллектива «Старт» (1985-1988). Концептуально была разработана теория компьютеров нового поколения, где архитектура строилась не от аппаратной реализации, а от потребностей обработки[78 ].

На базе подразделений Вычислительного центра СО АН СССР, наиболее активно задействованных в ВНТК «Старт» был создан Институт систем информатики СО РАН, с 1994 г. он носит имя А.П. Ершова. Среди научных направлений нового Института — теоретические основы программирования, параллельной обработки информации и искусственного интеллекта, архитектура и методы проектирования перспективных ЭВМ, систем и комплексов, системное программное обеспечение ЭВМ, баз знаний и экспертных систем, разработка методологии эффективного использования сетевых информационно-вычислительных технологий.

Институциализацию научной школы А.П. Ершова можно рассматривать как положительный фактор в ее развитии. Но очевиден тот факт, что как и вся российская наука, ИСИ понес потери в кадрах в1990-е гг. не только за счет естественных причин, но и за счет «утечки мозгов». Новосибирская школа программирования находится на той стадии развития, когда производство знания и воспроизводство научных кадров корректируются новыми социальными условиями. В настоящее время сотрудники ИСИ СО РАН готовят кадры программистов на механико-математическом факультете и факультете информационных технологий в НГУ, в институте функционирует аспирантура. Продолжают работать Летние школы юных программистов, проходят олимпиады по программированию. ИСИ СО РАН проводит международную конференцию «Перспективы систем информатики» памяти академика А.П. Ершова.

Особенностью настоящего момента является то, что программирование как инженерная деятельность (software engineering) опирается на прочный теоретический фундамент. Теоретическое наследие А.П. Ершова, его эстетика и философия, воплощенная в конкретных проектах, создает общую культуру программирования в Новосибирске.

Примечания

[1.]Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?lang=1&did=825&fileid=82441

[2.] Памяти академика Федора Ивановича Успенского (1845-1928). — Л., 1929. С. 2.

[3.] Родословная Успенских-Малининых известна благодаря «Ненужным запискам» Татьяны Константиновны Малининой, составленным ею в середине 1970-х гг. Хранятся в семье Анны Андреевны Бульонковой, дочери А.П. Ершова.

[4.] НИОПИК — Научно-исследовательский институт органических полупродуктов и красителей.

[5.] Малинина Т.К. Наше путешествие // Андрей Петрович Ершов: ученый и человек. Новосибирск, 2006. С.288.

[6.] Архив МГУ. Ф.2. Оп. 1 л. Е/х 1939. Л. 41.

[7.] Там же. Е/х 1939. Л. 5.

[8.]Левитин К.Е. Прощание с Алголом. С.26.

[9.] Динес Бьорнер вспоминал: «Мы обедали вдвоём в ресторане исторический киотской кухни Минокити, в 1980 г. в Токио, когда Андрей рассказал мне эту историю, во многом поясняющую, при каких обстоятельствах он связал свою жизнь с вычислительными науками». (Андрей Петрович Ершов: ученый и человек. Новосибирск, 2006. С. 216).

[10.] Архив МГУ. Ф.2. Оп. 1 л. Е/х 1939. Л. 1.

[11.] Жоголев Е.А Как А. П. Ершов стал программистом. // Становление Новосибирской школы программирования. Мозаика воспоминаний. Новосибирск, 2001. С. 41–42.

[12.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?lang=1&did=31044&fileid=164717

[13.] Левитин К.Е. Прощание с Алголом М., 1989. С.27.

[14.] Ершов А.П. Учитель // Очерки по истории информатики в России. Новосибирск, 1998. С.194.

[15.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?fileid=82295

[16.] Ершов А.П. Об одном методе обращения матриц // Докл. АН СССР. 1955. Т. 100, № 2. С. 209–211.

[17.] БЭСМ АН СССР дважды сдавалась Государственной приемной комиссии: в 1953 г. с оперативной памятью на ртутных трубках, в начале 1956 г. с оперативной памятью на потенциалоскопах. (Малиновский Б.Н. История вычислительной техники в лицах. Киев, 1995. С. 54).

[18.] Программирующая программа, или транслятор — программа, которая принимает на вход ЭВМ программу на одном языке и преобразует её в программу, написанную на другом языке.

[19.] Ершов А.П. Программирующая программа для быстродействующей электронной счетной машины. М., 1958. С.9.

[20.] Ершов А.П. Автоматизация программирования // Тр. Третьего Всесоюзн. математ. съезда. М., 1956. Т.2. С.74—76 (Совм. с Э.З. Любимским и С.С. Камыниным). Он же. Программирующая программа для БЭСМ АН СССР// Тр. конф. «Пути развития советского математического машиностроения и приборостроения». Секция универсальных цифровых машин. М., 1956. Ч. 3. С. 18–29.

[21.] Ершов А.П. Программирующая программа для быстродействующей электронной счетной машины. С. 101.

[22.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?did=41711&fileid=223934

[23.] Ершов А.П.Об операторных алгорифмах // ДАН СССР. 1958. Т. 122, № 6.

[24.] Кнут Д. Воспоминания об академике Ершове // Программирование. 1990. № 1. С 113—114.

[25.] Ершов А.П. Отчет о поездке в Англию. М., 1959. С.9. (Совм. с Александровым М.С., Ильиным В.А., Комарицким И.Р., др.).

[26.] Список докладов, прочитанных на Большом семинаре А.А. Ляпунова в Московском университете// Очерки истории информатики в России. Новосибирск,1998. С.247.

[27.]Там же / http:// http://ershov.iis.nsk.su/archive/eaimage.asp?did=41711&fileid=223928

[28.] Алгол — (от англ. algorithmic language) ряд языков программирования высокого уровня для научно-технических задач. Разработан в 1958—1960 гг.

[29.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?lang=1&did=21379&fileid=128021

[30.] Ершов А.П. Становление программирования в СССР: Переход ко второму поколению языков и машин// Новосибирск, 1976. С.20. (Совм. с. М.Р.Шура-Бурой).

[31.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?fileid=77297

[32.] Цит.по: Поттосин И.В. А.П. Ершов — пионер и лидер отечественного программирования// Становление Новосибирской школы программирования. Мозаика воспоминаний. Новосибирск, 2001. С.8.

[33.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?did=41711&fileid=223942

[34.] Ершов А.П. Становление программирования в СССР: Переход ко второму поколению языков и машин// Новосибирск, 1976. С. 21. (Совм. с М.Р. Шура-Бурой).

[35.] Ершов А.П. О понятии вычислительного алгорифма// Тез. докл. совещ. по вычисл. математике и применению средств вычисл. техники. Баку, 1958. С. 9; Он же. Автоматическое программирование, современное состояние, основные проблемы// Там же. С.15 (Совм. с В.М. Курочкиным); Он же. Об одном методе программирования арифметических операторов // Там же. С. 20–21.

[36.] Кнут Д. Искусство программирования на ЭВМ // М.,1978. Т. 3. С.642.

[37.] Ершов А.П. О программировании арифметических операторов// ДАН СССР. 1958. Т. 118, № 3. (Англ. пер.: On Programming of Arithmetic Operations // Communs. ACM, 1958, Vol. 1, № 8).

[38.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?did=41711&fileid=223927

[39.] Там же / http://ershov.iis.nsk.su/archive/eaimage.asp?did=41711&fileid=223947

[40.] Ершов А.П. Некоторые вопросы теории алгорифмов, связанные с программированием : автореф. дис... канд. физ.-мат. наук.: Москва, 1959. 8 с.

[41.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?did=41711&fileid=223968

[42.] Там же / http://ershov.iis.nsk.su/archive/eaimage.asp?fileid=82296

[43.] Ершов А.П. Операторные алгорифмы: автореф. дис. ... канд. физ.-мат. наук. Новосибирск, 1961. 8 с.

[44.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?fileid=77302

[45.] Ершов А.П. Становление программирования в СССР: Переход ко второму поколению языков и машин. Новосибирск, 1976. С.22. (Совм. с М.Р.Шура- Бурой).

[46.] Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?did=38338&fileid=206672

[47.]Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?did=41711&fileid=223926

[48.]Поттосин И.В. История Альфа-проекта// Становление Новосибирской школы программирования. Новосибирск, 2001. С.52.

[49.] А.П. Ершов. Какой должна быть следующая программирующая программа? М., 1959. 37 с.

[50.] Волошин Ю. Библиография по автоматическому программированию. Новосибирск, 1961. 37 с.

[51.]Ершов. А.П. АЛЬФА-рождение, или как создавалась система автоматического программирования// За науку в Сибири. 1965. 18 янв. С.1.

[52.] Сообщение об алгоритмическом языке АЛГОЛ: / Пер. А.П. Ершова. М., 1959.

[53.] Сообщение об алгоритмическом языке АЛГОЛ 60: / Под ред. А.П. Ершова. М., 1960.

[54.] Ершов А.П. Входной язык системы автоматизации программирования (предварительное сообщение) М.: ВЦ АН СССР, 1961 (Совм. с Г. И. Кожухиным, Ю. М. Волошиным).

[55.]Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?fileid=98281

[56.] Там же / http://ershov.iis.nsk.su/archive/eaimage.asp?did=14411&fileid=102047

[57.] Ющенко Е.Л. Некоторые вопросы теории алгоритмических языков и автоматизации программирования: Доклад по выполненным и опубликованным работам, представленным к защите вместо докторской диссертации. Киев, 1965. 47с.

[58.] Виртуальный компьютерный музей / http://www.computer-museum.ru/galglory/0-1.htm

[59.] Ильин В.П. Сибирская информатика: школы Г.И. Марчука, А.П. Ершова, Н.Н. Яненко // История информатики в России. Ученые и их школы. М., 2003. С.349.

[60.] Кросс-транслятор — программа на инструментальной ЭВМ, которая обеспечивает перевод программы, записанной в нотации некоторого языка в код объектной ЭВМ.

[61.] Ершов А.П. Система автоматизации программирования Альфа-6 // Материалы Всесоюзн. симп. «Системное программирование» Новосибирск, 1973. Ч. 1. С. 12–23. (Совм. с И.Н. Аникеевой. С.Ф. Богдановой, А.О. Будой и др.).

[62.] Название проекта не является аббревиатурой. Второй трансляторный проект назван буквой греческого алфавита Бета по аналогии с первым проектом Альфа.

[63.]Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?did=10427&fileid=118261

[64.] Покровский С.Б. Внутренний язык в БЕТА // Становление новосибирской школы программирования. Мозаика воспоминаний. Новосибирск, 2001. С. 100.

[65.] Покровский С.Б. Внутренний язык в БЕТА// Становление новосибирской школы программирования. Мозаика воспоминаний. Новосибирск, 2001. С.101.

[66.]Захаров А.А., Покровский С.Б., Степанов Г.Г., Тен С.В. Многоязыковая транслирующая система. Новосибирск, 1987.

[67.] Ершов А.П. О сущности трансляции // Программирование. 1977. № 5. С. 38.

[68.]Смешанные вычисления — обобщенный способ исполения программ для ЭВМ или абстрактных вычислителей, при котором изменению подвержены не только данные, обрабатываемые программой, но и сама программа (определение А.П. Ершова).

[69.] Шварцман М.И. Повесть блудного сына проекта БЕТА //Андрей Петрович Ершов — ученый и человек. Новосибирск, 2006. С. 186.

[70.] Поттосин И.В. А.П. Ершов и становление новосибирской школы программирования// Становление Новосибирской школы программирования (мозаика воспоминаний). Новосибирск, 2001. С.37.

[71.]Архив академика А.П. Ершова / http://ershov.iis.nsk.su/archive/eaimage.asp?fileid=133084

[72.] Ершов А.П. Справка о потребностях и обеспеченности по кадрам программистов для ЭВМ на 1970—1975 г. 23.03.1970 // Андрей Петрович Ершов — ученый и человек. Новосибирск, 2006. С. 24–25.

[73.] Центр новых информационных технологий. 25 лет. Кемерово, 1999. С.4—5.

[74.] 40 лет отделу программирования. 10 лет Институту систем информатики им. А.П. Ершова. Новосибирск, 2000. С. 10.

[75.] Там же / http://ershov.iis.nsk.su/archive/eaimage.asp?did=11046&fileid=167250

[76.] Костер К. Вспоминая Андрея Петровича Ершова / http://ershov.iis.nsk.su/russian/koster_remembering/

[77.] Однажды А.П. Ершов поделился соображением на эту тему со своим сотрудником А.Ф. Раром, ныне работающим в ИСИ СО РАН; с его слов отношение А.П. Ершова к возможности непосредственного общения с зарубежными коллегами стало известно автору статьи.

[78.] Марчук Г.И Модульная асинхронная развиваемая система (Концепция). В 2-х частях //Новосибирск, 1978. (Совм. с Котовым В.Е.).

Об авторе: Институт систем информатики имени А. П. Ершова СО РАН, Новосибирск, Россия [cora@iis.nsk.su]
Статья опубликована в материалах семинара «История информатики в Сибири», прошедшего в рамках VII международной конференции памяти академика А.П.Ершова «Перспективы систем информатики», Новосибирск, 15-19 июня 2009 г.
Статья помещена в музей 23.11.2009 года.