Сибирская школа информатики академика А.П. Ершова.
Крайнева Ирина Александровна,
Александр Гурьевич Марчук
Наталья Александровна Куперштох
Наталья Ариановна Черемных
В докладе рассматривается феномен Сибирской (или Новосибирской) научной школы информатики и программирования, созданной академиком А.П. Ершовым, одним из пионеров теоретического и системного программирования. Используется дескриптивный метод повествования, поскольку авторы ставят своей целью рассказать о своеобразии данной научной школы, а также осветить роль личности лидера в научной школе, каковым, несомненно, был академик А.П. Ершов.
Среди различных социальных форм организаций научных сообществ особое место занимают научные школы. Изучению этого феномена посвящена обширная литература, которая была обобщена Н.А. Куперштох [1]. Ее библиографический очерк, который размещен на сайте Отделения ГПНТБ в Академгородке, можно дополнить некоторыми публикациями на данную тему в Интернет [2]. Кроме того, отметим новую публикацию известной исследовательницы социального феномена научной школы Е.З. Мирской [3], в которой дан социологический анализ, описаны признаки научной школы, роль и функции научной школы в развитии науки, рассмотрен ее жизненный цикл.
В исследовании феномена научной школы можно проследить эволюцию от теоретического до практического подхода, который связан с решением государства о финансовой поддержке ведущих научных школ. Понятие «научная школа» не является строго детерминированным. Тем не менее, в [4] оно трактуется как относительно небольшой научный коллектив, объединенный не столько организационными рамками, не только конкретной тематикой, но и общей системой взглядов, идей, интересов, традиций, сохраняющейся, передающейся и развивающейся при смене научных поколений. В этом контексте немаловажно получить четкое представление о конкретных научных школах.
Появление научных школ по информатике и программированию относится к 50-м годам ХХ века. Первыми их летописцами были сами программисты, и А.П. Ершов был одним из них, и едва ли не единственным с тех пор, как был подготовлен его и М.Р. Шуры-Буры совместный труд по истории информатики в СССР[5]. Эта работа не потеряла своей актуальности, она доступна в настоящее время на сайте Института систем информатики имени А.П. Ершова СО РАН (ИСИ СО РАН) http :// www . iis . nsk . su . В предисловии к этой публикации мы постарались проследить интерес А.П. Ершова к истории становления программирования, который выражался в его постоянном обращении к этой теме.
В 1990-е годы появилась серия публикаций материалов, относящихся к периоду зарождения кибернетики и информатики в России. Ведущие специалисты анализировали развитие кибернетического движения, вспоминали участников событий, публиковались также ключевые статьи периода становления информатики и архивные материалы[6]. Так, в статье Д.А. Поспелова дается структура информатики, приводится примерно 1,5 десятка научных направлений, которые составляют в настоящее время основные области ее исследования. Что касается научных школ в кибернетике, то Д.А. Поспелов выделяет пять: школа А.А. Ляпунова, М.А. Гаврилова, О.Б. Лупанова — С.В. Яблонского, В.М. Глушкова и М.Л. Цетлина — М.М. Бонгарда [7]. Некоторые из этих школ породили явление, которое впоследствии названо было информатикой ( a нгл. Computer science ). Такова роль А.А. Ляпунова. Личность этого ученого была настолько многогранной, а интересы настолько многосторонними, что породило широкое научное движение, которое отражало круг интересов А.А. Ляпунова. Это привлекало специалистов разных наук, что способствовало формированию других научных школ. На основе его представлений о программировании зародилась новосибирская школа информатики и программирования А.П. Ершова.
Впервые подробный очерк научных достижений А.П. Ершова и его школы был написан его другом и ближайшим коллегой И.В. Поттосиным [8]. По его инициативе и под его редакцией были подготовлены два сборника статей, посвященных истории Новосибирской школы программирования [9]. Сборники содержат разноплановые материалы: анализ выполненных проектов, историю их создания и использования, воспоминания о людях и событиях того периода, когда Андрей Петрович возглавлял отдел программирования сначала в Институте математики, затем в Вычислительном центре Сибирского отделения АН СССР (1958-1988 гг.). С этими материалами также можно познакомиться на сайте ИСИ СО РАН.
В 2000 году при финансовой поддержке Microsoft Research началась работа по созданию электронной версии архива академика А.П. Ершова, который хранится в Мемориальной библиотеке его имени в Институте систем информатики СО РАН в Новосибирске. Архив создавался на протяжении всей сознательной жизни ученого, охватывает период с начала 50-х годов прошлого века и до конца 80-х годов. Документы собраны в папках по тематико-хронологическому принципу. Их насчитывается более 550. Эта работа в настоящее время близка к завершению. Исследователи по истории науки получают доступ к огромному систематизированному массиву документов, который можно беспрепятственно вводить в научный оборот (http://ershov.iis.nsk.su/archive).
Первые публикации по материалам архива были сделаны сотрудниками Института [10], некоторые документы издавались в сборниках по истории кибернетики под редакцией Я.И. Фета и Д А. Поспелова [6]. К 75-летию со дня рождения А.П. Ершова, которое отмечается в этом году, подготовлена книга «Андрей Петрович Ершов — ученый и человек». В книгу вошли воспоминания коллег, учеников и друзей А.П. Ершова — зарубежных и отечественных; его наиболее яркие статьи, письма, стихи и наиболее интересные документы из его обширного архива. Естественно, эти публикации не в состоянии охватить всю массу документов, даже при осуществлении самого тщательного отбора. Работа по изучению архива и введению в научный оборот его материалов только разворачивается [11].
У школы программирования академика А.П. Ершова, которая принадлежит к исследовательскому типу научных школ, есть некоторые отличительные особенности. Традиционным для научной школы считается сочетание зрелых и начинающих исследователей, однако отдел А.П. Ершова в период его становления был коллективом сверстников, разница в возрасте у которых была небольшой: в пределах 2-3 лет. Молодость коллектива не была препятствием на пути научного творчества. Первый крупный проект, который отдел программирования начал еще в ВЦ АН СССР, а продолжил в Институте математики СО АН СССР — создание Альфа-транслятора — был закончен лишь на год позже двух других аналогичных проектов, разработкой которых руководили более опытные ученые: д.ф.-м.н. М.Р. Шура-Бура (ТА-2) и д.ф.-.м.н. С.С. Лавров (ТА-1). В этот период А.П. Ершов, организаторские способности которого были замечены ранее, окончательно укрепляется в роли идейного и формального лидера коллектива программистов в Новосибирске, растет его авторитет в стране и за рубежом.
Становлению А.П. Ершова как руководителя способствовали не только его деловые качества, высокая требовательность к себе, которая давала ему право требовать с других, но и такие черты его характера, как доброжелательность, открытость, такт, а также сознательное желание постичь науку управления. Незадолго до отъезда в Новосибирск, Андрей Петрович обратился к своему старшему коллеге М.Р. Шура-Буре, который в это время возглавлял отдел автоматизации программирования в Институте прикладной математики АН СССР (ныне ИПМ РАН им. М.В. Келдыша). Он дал Ершову ряд ценных советов по руководству отделом: по составу и количеству сотрудников, по учету машинного времени, планированию, премированию и прочим составляющим работы коллектива. Помимо этого, А.П. находит несколько статей в журнале «Вестник АН СССР», посвященных проблемам организации работы руководителя. Он решает, что надо «использовать дневник, чтобы записывать в него наблюдения во время бесед» [12]. Этот дневник он вел в течение 1960 года, в нем записаны результаты собеседований с сотрудниками отдела и аспирантами [18].
Другая характерная черта школы А.П. Ершова — это приверженность научным и общечеловеческим ценностям и традициям, их сохранение и приумножение. Вспоминая годы своего ученичества, будучи руководителем отдела программирования, сам А.П. Ершов неоднократно подчеркивал роль выдающихся людей в формировании молодого поколения. В своем дневнике, например, он записал о С.Л. Соболеве: «Вот человек, которому хочется следовать во всем без оглядки!» [13]. Выступая на методическом семинаре ВЦ СО АН СССР с докладом об активной жизненной позиции научного сотрудника. А.П. Ершов сказал: «Изучая биографии великих людей, не надо бояться восхищаться людьми. Человек, который способен восхищаться чужим успехом или достижением, освобождается от многих комплексов» [14]. А.П. Ершов подчеркивал научное и нравственное влияние, которое на него оказали М.В. Келдыш, М.А. Лаврентьев, С.А. Лебедев и др. А.А. Ляпунов занимал среди учителей А.П. Ершова особое место. Его «абсолютная незаинтересованность укреплять авторитет общения внешними средствами... в сочетании с не менее абсолютной непреклонностью принципиальных положений» среди прочих «уроков Ляпунова» особо отмечались Андреем Петровичем. [15].
Одним из родовых признаков научной школы предполагается непременное условие существование не только лидера, но и как минимум трех поколений носителей начального импульса. За 20 лет начиная с 1969 года, когда защитился его первый аспирант (И.В. Поттосин?), А.П. Ершовым было подготовлено 35 кандидатов наук [16]. Как минимум, треть этих ученых стала докторами наук, они работают в России и за рубежом, имеют своих учеников и последователей. Ядро научной школы информатики А.П. Ершова получило институциональное оформление и развитие. Напомним, что в конце 1950-х гг. отдел программирования первоначально был организован в Институте математики, затем вошел в состав Вычислительного центра Сибирского отделения АН СССР и, наконец, его подразделения послужили основой для создания в 1990 г. самостоятельного института — Института систем информатики СО РАН. Научное наследие А.П. Ершова продолжает оказывать влияние на развитие информатики и программирования как в стенах ИСИ СО РАН, так и за его пределами.
Работы А.П. Ершова оказали стимулирующее влияние на развитие теоретического программирования. В конце 1976 года А. П. Ершов пришел к идее смешанных вычислений. Он сформулировал понятие смешанного вычисления как фундаментального принципа системного программирования. Различные аспекты смешанных вычислений — от теоретических и даже философских до сугубо практических — нашли свое развитие в работах его коллег и учеников: М.А. Бульонкова, В.Э. Иткина (Новосибирск), Б.Н. Островского (Барнаул), В.К. Сабельфельда (Германия), Г.Я Барздиня (Латвия) и др. В 1992 году в ИСИ СО РАН была образована научно-исследовательская группа смешанных вычислений, преобразованная в 1997 году в лабораторию смешанных вычислений, которой руководит ученик А.. Ершова к.ф.-м.н. М.А. Бульонков.
А.П. Ершов был среди основоположников применения графов в программировании. Среди работ, существенно использующих теоретико — графовые методы в решении задач программирования, были его ранние труды, ставшие классическими [19]. А.П. Ершов считал, что графы являются основной конструкцией для программиста и обладают огромной, неисчерпаемой изобразительной силой, соизмеримой масштабу задачи программирования. Первой книгой, посвященной применению графов в программировании, была монография А.П. Ершова «Введение в теоретическое программирование (беседы о методе)» (1977). В ней Ершовым рассмотрены две классические задачи теоретического программирования, решения которых и развитые на этих решениях методы привели к созданию теоретического программирования как самостоятельной математической дисциплины. В ИСИ СО РАН под руководством д.ф.-м.н. В.Н. Касьянова продолжаются работы по применению графов в программировании. В частности, проводятся работы по анализу и систематизации теоретико — графовых алгоритмов и методов в информатике и программировании, завершается создание «энциклопедии» графовых алгоритмов для программистов, готовится ее издание на английском языке.
Академик А.П. Ершов предложил концепцию доказательного программирования, в которой обосновал принципиальную важность развития проблематики верификации программ и систем. В 1988 году А.П. Ершов писал: «Установлена принципиальная возможность придать программированию доказательный характер, снабжать программу сертификатом соответствия объявленным целям ее создания. Верификация программ — это главный способ нахождения подобного рода сертификатов»[17]. Только через 15 лет известный английский ученый Ч.Э. Хоар, который предложил основной метод исследования верификации программ, подтвердив важность проблематики доказательного программирования. В течение последних лет основной проблематикой лаборатории теоретического программирования ИСИ СО РАН (к.ф.-.м.н. В.А. Непомнящий) является разработка методов и средств верификации программ и систем. Данная лаборатория является одной из самых успешных на поприще подготовки научной смены в ИСИ СО РАН. Из 39 кандидатов и 5 докторов наук, подготовленных в институте за 15 лет его существования, из этой лаборатории вышло 13 кандидатов и 1 доктор наук.
Создание систем программирования и связанные с ними теоретические исследования своими корнями восходят ко всем предыдущим работам А.П. Ершова и его отдела в этой области (оптимизирующие трансляторы Альфа для М-220, Альфа-6 для БЭСМ-6 и т.д.). В лаборатории системного программирования ИСИ СО РАН (д.ф.-.м.н. И.В. Поттосин, затем к.т.н. В.И. Шелехов) в 90-е годы создана была система СОКРАТ по заказу НПО ПМ имени академика М.Ф. Решетнева (Красноярск) для поддержки разработки эффективных и надежных программ для встроенных ЭВМ. Дальнейшее развитие методов анализа программ, в частности, потокового анализа и трансформации программ, реализуется в настоящее время в рамках проекта по предикатному программированию. Примеры можно было продолжить.
Еще одной важной особенностью Сибирской школы программирования является высокая ответственность перед обществом, что ранее называлось гражданской позицией. Сознавая серьезные социальные последствия применения компьютеров, А.П. Ершов стал неутомимым пропонентом идеи преподавания программирования и информатики в школе. Он одним из первых предложил ввести в школьное обучение курс «Основы информатики и вычислительной техники», составил необходимые учебные планы и написал первый учебник по этому курсу. Андрей Петрович принадлежал к тем ученым, которые формировали не только методику обучения школьному программированию, но и методологию многоступенчатого обучения компьютерной грамотности в стране. Основные направления научно-исследовательских работ в области школьной информатики, сложившиеся в 80-е годы, актуальны и поныне. К ним принадлежат создание учебной литературы для изучения информатики и программирования школьниками и учителями; формирование системы ранней профориентации школьников, разработка информационных систем, поддерживающих постановку школьного предмета «информатика»; организационная, общественная и популяризаторская работа по созданию положительного отношения к информатике как науке, технологии и учебной дисциплине.
Характерным признаком научной школы А.П. Ершов считал ее включенность в мировое научное сообщество. Эта традиция продолжается в ИСИ СО РАН. В мае 1991 г. состоялась первая Конференция «Перспективы систем информатики» ( PSI ), которая с тех пор собирается с периодичностью 3-4 года, является крупными международными событием и проходит весьма успешно. Конференция носит мемориальный характер и посвящается выдающемуся вкладу А.П. Ершова и его соратников в развитие информатики. В этом году прошла Шестая международная конференция PSI , приуроченная к 75-летию со дня рождения А.П. Ершова. Цель конференции в представлении и глубоком обсуждении передовых достижений в таких областях информатики, как теоретические основы анализа и разработки программ и систем, методология и технология программирования, новые информационные технологии. Расширение контактов и обмен мнениями между учеными Востока и Запада составляют еще одну цель конференции. Труды конференций публикуются издательством Springer-Verlag в серии «Lecture Notes in Computer Science». Конкурс представленных докладов достаточно велик все годы. Количество иностранных ученых обычно составляет примерно третью часть от общего числа участников, среди которых преобладают молодые исследователи.
Что касается жизненного цикла научной школы, то прослежена прямая зависимость существования научной школы как таковой от ее способности выполнять свои новационные и образовательные функции [3]. В этом смысле Сибирская школа программирования находится на новой стадии развития, когда производство нового знания и воспроизводство научных кадров потенциально возможно, но может быть подвергнуто суровому испытанию сменой социального заказа. В настоящее время сотрудники Института систем информатики преподают на двух факультетах Новосибирского государственного университета: на механико-математическом и информационных технологий. Ежегодно свыше 70 студентов дипломируются в стенах института. В 2004 г. ВАК приняла решение об открытии диссертационного совета при Институте систем информатики им. А.П. Ершова Сибирского Отделения РАН по защите диссертаций на соискание ученой степени кандидата наук по специальности 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», по физико-математическим наукам.
Авторы выражают благодарность сотрудникам Института систем информатики имени А.П. Ершова СО РАН В.А. Непомнящему, И.Б. Вирбицкайте, В.Н. Касьянову, В.И. Шелехову, М.А. Бульонкову, Ф.А. Мурзину и Н.Ф. Воронко за информацию, предоставленную для данного доклада.
Литература и источники
- Н.А. Куперштох. «Научные школы России: проблемы изучения» // http://www.prometeus.nsc.ru/science/schools/docs/scisch.ssi
- Анкета научной школы. Академия управления при Президенте Республик Беларусь // http://www.pacademy.edu.by. Научные школы Пермского государственного университета. Л.И. Девяткова «Академик Рем Викторович Хохлов — ректор Московского университета». Фрагменты книги // http://www.phys.msu.su.
- Е.З. Мирская. «Научные школы: история, проблемы и перспективы» // Науковедение и новые тенденции в развитии российской науки. — Москва. — 2005. — С. 244-265.
- Ведущие научные школы России. Выпуск 1. — М.: «Янус-К». — 1998.
- Становление программирования в СССР: Начальное развитие. — Новосибирск,- 1976. — 49 с. — (Препр./ АН СССР, Сиб. отд-ние: ВЦ; № 12). — (Совм. с М. Р. Шурой-Бурой. Становление программирования в СССР: Переход ко второму поколению языков и машин. — Новосибирск, 1976. — 42 с. — (Препр./ АН СССР, Сиб. отд-ние; ВЦ; № 13). — (Совм. с М. Р. Шурой-Бурой).
- Б.Н. Малиновский «Очерки по истории компьютерной науки и техники в Украине.» — Киев. — 1998. — С.452. Очерки истории информатики в России. Составители: Поспелов Д. А., Фет Я. И. Новосибирск: НИЦ ИГГМ СО РАН, 1998; А.С. Алексеев. М.А. Лаврентьев и информационно-вычислительные технологии // Наука в Сибири. — 2000. — № 44-45; Алексей Андреевич Ляпунов. Составители: Ляпунова Н.А., Фет Я.И. Новосибирск: Филиал «Гео» Издательства СО РАН, 2001; Колмогоров и кибернетика. Составители: Поспелов Д.А., Фет Я.И. Новосибирск: Издательство ИВМиМГ СО РАН, 2001; Леонид Витальевич Канторович: человек и ученый. Составители: Канторович В.Л., Кутателадзе С.С., Фет Я.И. Новосибирск: Издательство СО РАН, Филиал «Гео», 2002; История информатики в России: ученые и их школы. Составители: Захаров В.Н., Подловченко Р. И., Фет Я. И. М.: Наука, 2003.
- Д.А. Поспелов. Становление информатики в России // Очерки истории информатики в России. Составители: Поспелов Д.А., Фет Я.И. Новосибирск: НИЦ ИГГМ СО РАН — 1998 — С. 8-9. — С. 35-36.
- И.В. Поттосин. Андрей Петрович Ершов: жизнь и творчество // А.П. Ершов. Избранные труды. — Новосибирск. -1994. — С. 5-29.
- Становление новосибирской школы программирования. Мозаика воспоминаний — Новосибирск. — 2001. — 194 с.; Новосибирская школа программирования. Перекличка времен. — Новосибирск. — 2004. — 242 с.
- Н.А.Черемных, Г.В. Курляндчик. Библиотека и архив академика Ершова // http://www.iis.nsk.su; Крайнева И.А., Черемных Н.А. Личный архив академика А. П. Ершова в Интернете // Отечественные архивы. — 2001. — № 5 и др.
- Н.А. Куперштох. История сибирской школы информатики академика А.П Ершова. // Модернизация российского образования. — Т. XVII серии трудов, приложение к журналу «Философия образования». — Новосибирск. — 2005. — С. 377-383. Бульонкова А.А., Крайнева И.А. Андрей Петрович Ершов: страницы жизни // Вопросы истории информатики. — Вып. 5 — Новосибирск. — 2005. — С.34-44.
- Дневник А.П. Ершова // Архив А.П. Ершова. — Папка 35. — Л. 106.
- Там же.
- А.П. Ершов. Об активной позиции научного сотрудника // Архив А.П. Ершова. — Папка 242. — Л. 216.
- Ершов А.П. Учитель // Очерки по истории информатики в России. — Новосибирск, 1998. — С.194.
- Список аспирантов А.П. Ершова, защитивших кандидатские диссертации // Архив А.П. Ершова. — Папка 320. — Л. 46.
- Ершов А.П. Предисловие редактора. В.А.Непомнящий, О.М. Рякин. Прикладные методы верификации программ // Радио и связь. — Москва. — 1988.
- Дневник бесед с сотрудниками [отдела алгоритмов и программирования ВЦ АН СССР] // Архив А.П. Ершова. — Папка 35.- Лл.1-91.
- О программировании арифметических операторов // Докл. АН СССР . — 1958. — Т . 118, № 3. — С . 427-430. — Англ. пер.: On Programming of Arithmetic Operations // Communs. ACM. — 1958. — V. 1, № 8. — P. 3-6. Сведение задачи распределения памяти при составлении программ к задаче раскраски вершин графов // Докл. АН СССР. — 1962. — Т.142, № 4. — С. 785-787.
Об авторах: Александр Гурьевич Марчук — доктор физико-математических наук, директор Института систем информатики им. А.П. Ершова СО РАН, mag@iis.nsk.su
Ирина Александровна Крайнева — ведущий инженер Института систем информатики им. А.П. Ершова СО РАН, cora@iis.nsk.su
Наталья Александровна Куперштох — к.и.н., старший научный сотрудник Института истории СО РАН, skn@demakova.net
Наталья Ариановна Черемных — заведующая Отделом научно-технической информации Института систем информатики им. А.П. Ершова СО РАН, cher@iis.nsk.su
Статья помещена в музей 14.05.2008 с разрешения автора, дополнена 30.06.2008