Игорь Васильевич Поттосин
В. Н. Касьянов
Игорь Васильевич Поттосин родился 21 февраля 1933 г. в селе Кинель-Черкассы Самарской (тогда Куйбышевской) области. Его отец, Василий Васильевич (1905-1993), происходил из семьи служащих, окончил техникум, работал учителем, после окончания Московского педагогического института и аспирантуры был направлен в Томск, в НИИ математики и механики при ТГУ (1934). В 1940 г. он был избран деканом спецфакультета, в 1941 г. защитил кандидатскую диссертацию. В годы войны был на фронте, в 1947 г. вернулся в Томск, работал заместителем декана и деканом физико-технического факультета, преподавал, на пенсию ушел почти в 80 лет. Был председателем совета ветеранов ТГУ, членом КПСС с 1941 г., делегатом XIX съезда КПСС, награжден орденами и медалями. Мать, Елизавета Павловна Поттосина, работала научным сотрудником в Томском институте вакцин и сывороток[1].
В 1950 г. Игорь Васильевич окончил школу с золотой медалью и поступил на специальное отделение мехмата ТГУ, на котором готовили кадры для Министерства обороны СССР по специальности «баллистика». С 1955 г. по распределению работал в Москве инженером ЦНИИ-27, первого вычислительного центра Министерства обороны СССР, создателем и первым руководителем которого являлся подполковник А.И. Китов. В 1958 г. И.В. Поттосин перешел в отдел программирования Института математики СО АН СССР, который в то время только начал формировать А.П. Ершов в Москве по согласованию с академиком С.Л. Соболевым. Поскольку перебазирование института в Новосибирск произошло до того, как А.П. Ершов смог переехать в Академгородок, формально первым заведующим отдела стал Игорь Васильевич. Приказ о его назначении был подписан 1 ноября 1958 г., и с этого дня ведет свой отсчет история отдела программирования.
Игорь Васильевич был одним из разработчиков системы АЛЬФА, первого в мировой практике оптимизирующего транслятора для языков более высокой сложности, чем Фортран, и вместе с Г.И. Коняхиным ответственным исполнителем этой работы. В частности, ему принадлежат методы и алгоритмы оптимального программирования циклов и экономии выражений, которые были реализованные им в системе АЛЬФА и в дальнейшем были развиты в последующих системах для языка Альфа - АЛГИБРе и АЛЬФА-6. По этим результатам И.В. Поттосин защитил кандидатскую диссертацию в 1969 г.
И.В. Поттосиным был предложен и реализован для системного программирования языковый подход к повышению эффективности создаваемых программ, заключающийся в разработке машинно-ориентированного языка высокого уровня, позволяющего сочетать учет особенности машинных архитектур с наглядностью и читаемостью. В соответствии с этим подходом под его руководством и непосредственном участии был разработан язык ЭПСИЛОН, один из первых в мире языков системного программирования, и были реализованы системы программирования с этим языком для ряда отечественных ЭВМ.
Одной из наиболее крупных систем программного обеспечения, разработанных под руководством А.П. Ершова в 1971 г. с использованием ЭПСИЛОНа, была система коллективного пользования АИСТ-0 - первая отечественная развитая система разделения времени, общий объем программного обеспечения которой превышал 100 тыс. команд. Я знаю Игоря Васильевича еще со студенчества, с конца 1960-х, был первым аспирантом, который защитился под его научным руководством, и одним из постоянных его соавторов. Вспоминаю 1971 г., когда мы, выпускники мехмата НГУ, пришли по распределению в лабораторию И.В. Поттосина и стали разработчиками проекта БЕТА. А тогда в отделе А.П. Ершова было программистских лабораторий две: лаборатория по системному программированию, которой руководил И.В. Поттосин, и лаборатория по теоретическому программированию, которую возглавлял сам А.П. Ершов. Первое, что мы услышали от Игоря Васильевича, было то, что теория и практика в программировании развиваются скорее параллельно и что наша общая задача сделать это развитие совместным, взаимно обогащаемым.
Эго было его кредо. Объединение теоретических исследований с программными разработками - одна из основных черт Новосибирской школы программирования. Игорь Васильевич был одним из основателей этой школы. Живой человек, которому ничего человеческое не было чуждо, он был настоящим русским интеллигентом и программистом от бога. В начале 1990-х гг., когда для всех нас настали тяжелые времена, когда под вопросом стояло само существование нашего коллектива, он взял лидерство на себя и сохранил коллектив и институт. В 1998 г., отказавшись от директорства, но сохранив неформальное лидерство и полную ответственность за судьбу коллектива, он много работал, причем, не только с коллегами и студентами, но и со школьниками, был в гуще всех событий у нас в стране и за рубежом.
В 1970-е гг. Игорь Васильевич руководил созданием универсального оптимизатора системы БЕТА, одним из разработчиков которого я стал после окончания НГУ. Это было время еженедельных семинаров многочисленных участников проекта и подготовки проектных рабочих материалов и коллективных многотомных отчетов, время жарких дискуссий на семинарах и последующих расшифровок громадных бобин магнитных лент с записями этих семинаров, выполнение которых, как правило, естественно поручалось нам, только что прибывшим молодым сотрудникам.
Однако, первая наша совместная с Игорем Васильевичем публикация «Применение методов оптимизации к проверке правильности программ» никак не была связана с проектом БЕТА и была подготовлена в виде доклада для Рабочей конференции ИФИП по разработке качественного программного обеспечения, которая состоялась в 1977 г. в Новосибирске. В ней мы рассмотрели, как алгоритмы потокового анализа и ряда оптимизирующих преобразований практически без изменения могут быть применены для повышения надежности программы за счет обнаружения в её тексте довольно широкого класса неправдоподобностей (или аномалий) - определенных свойств, присущих неправильным программам. В последующих совместных работах мы показали, что возможности оптимизации программ позволяют использовать ее технику и методы как основу для построения инструментов работы с программами практически на всех этапах технологического цикла разработки программ, определили архитектуру и общую спецификацию систем конкретизации.
В 1989 г. по разработанным языковым, структурным, трансформационным, технологическим и методологическим подходам к созданию эффективного программного обеспечения И.В. Поттосин защитил докторскую диссертацию в форме научного доклада.
На основе курса «Методы трансляции», который я читал после Игоря Васильевича для студентов НГУ, начиная с 1976 г., мы подготовили ряд совместных учебных пособий: «Методы трансляции» (1978), «Технология трансляции» (1979) и «Автоматизация построения трансляторов» (1983), а также монографию «Методы построения трансляторов», которая вышла в издательстве «Наука» в 1986 г. под редакцией А.П. Ершова. Для меня этот опыт стал определяющим, поскольку это были мои первые учебные пособия и моя первая монография, изданная в серьезном издательстве.
Более четверти века основной курс по программированию студентам мехмата НГУ мы с И.В. Поттосиньгм читали на двух разных потоках в параллель. Когда на мехмате был образован еще и третий поток, лекции на нем после меня и В.К. Сабельфельда в последние годы стала читать М.М. Бежанова. Относясь к курсу с душой и весьма ответственно, Майя Михайловна инициировала написания по материалу курса книги «Современные понятия и метода программирования», в подготовке которой я, к сожалению, не смог участвовать, поскольку в это время в рамках гранта РФФИ завершал работу над книгой «Курс программирования на Паскале в заданиях и упражнениях» (2001). Судьбе было угодно сделать так, чтобы авторы так и не увидели результаты своего труда. Подготовка книги к изданию в издательстве «Научный мир» (г. Москва) завершалась в декабре 2000 г., в последние дни жизни Майи Михайловны, а книга поступила в Новосибирск в декабре 2001 г., в день похорон Игоря Васильевича.
Материалы международной конференции Sorucom 2014 (13-17 октября 2014)
Помещена в музей с разрешения автора
18 марта 2015