Виктор Иванников: «Операционная система – небольшая программа. Ну, семь миллионов строк»

    Это интервью в 2009 году академик РАН, директор Института системного программирования РАН, заведующий кафедрой системного программирования ВМиК МГУ, в ту пору председатель Российской ассоциации свободного программного обеспечения (РАСПО) Виктор Иванников дал корреспонденту сайта iToday.ru. Текст был опубликован также газетой «Время новостей».

    Виктор Петрович Иванников. Фото 2009 года. (с) "Время Новостей"
    Виктор Петрович Иванников. Фото 2009 года. (с) «Время Новостей»

    — В представлении обывателя системное программирование – это операционные системы, компиляторы…

    — Еще системы управления базами данных и среды разработки.

    — Ну да. Представление профессионала отличается от этого?

    — Не скажу, что «системное программирование» устоявшийся термин. В 60-е годы мы так называли то, чем занимались, а занимались тем, что вы перечислили. Когда Андрей Николаевич Тихонов в МГУ создавал факультет ВМиК, он создал три кафедры программирования. Одна из них называлась кафедрой системного программирования, заведовал ею Михаил Романович Шура-Бура. В начале 90-х он попросил меня заменить его на этом посту. Чем занимается кафедра? Именно тем, что вы перечислили.

    — Правильно ли еще одно обывательское представление: системное программирование в нашей стране стало делом бесперспективным после того, как было принято решение о создании ЕС ЭВМ, т.е. о копировании IBM/360?

    — Отчасти вы правы. Это касается не только ЕС ЭВМ, но и СМ ЭВМ, которые копировали машины DEC. Это сильно ограничило наших инженеров, и сжало область деятельности системных программистов. Хотя должен сказать, что наши школы по компиляторам и операционным системам были очень сильны. Технологии программирования тоже сильно были развиты, особенно для оборонных приложений. То были очень большие программы, и нужно было уметь их делать. Что касается систем управления базами данных, то там – не шибко.

    — Позвольте, а как же ИНЭС? Она была не хуже западных СУБД.

    — Отдельные небольшие группы работали в этом направлении. СУБД, как и Кобол, возникли для решения задач в финансовой сфере, прежде всего. А эта сфера у нас – для программистов – была немножко в загоне. Да, была ИНЭС. Была СУБД, сделанная в ВЦ АН СССР. SQL Server был разработан у нас в институте. Код его передан Free Software Foundation.

    — Почему у нас нет своей операционной системы?

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

    Linux – это мэйнстрим развития операционных систем, и мы должны в этом мэйнстриме занять место, я правильно вас понимаю?

    — Да. Операционная система – небольшая программа. Ну, семь миллионов строк. Но на ней лежит прикладной софт. Новая ОС означает необходимость переписывать приложения. Какой в этом смысл? Индустриально можно использовать Linux, в нем вполне можно работать. Для исследовательских проектов можно свои операционные системы делать – например, чтобы студентов учить на какой-нибудь маленькой операционной системе.

    — С операционными системами вот-вот что-то произойдет. Слишком много попыток сделать здесь что-то инновационное. Вы не разделяете это впечатление? Если да, то есть ли у нас исследования в этом направлении? Есть ли у нас шанс сделать что-то самим в области будущих операционных систем?

    — Да, такие работы в мире идут. Они связаны, в том числе, с тем, что нужно делать микроядро операционной системы, которое состояло бы не из семи миллионов строк, а, скажем, из нескольких десятков тысяч, но чтобы код этот действительно не содержал ошибок. Это безумная задача. Но для маленьких программ она может быть решена.

    Бывает и так, что человеку просто хочется сделать операционную систему. Из эстетических соображений. Почему бы нет? Почему бы человеку не придумать нечто новое? Я пару раз с этим сталкивался. Двое мальчиков, из разных городов, но не из Москвы, делали свои операционные системы. Это крайне интересно. Они, конечно, получили какой-то навык, получили какое-то удовлетворение внутреннее. Один из них – из Омска, теперь уже студент.

    — Кроме вашего института, есть еще ФГУП «НИИ операционных систем». Как вы делите полномочия?

    — Да никак не делим. Они, по-моему, операционные системы не делают. Мы – институт РАН, они – ФГУП, принадлежат Минобру. Не знаю, чем они занимаются.

    — А в индустрии какова роль вашего института?

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

    Достаточно много контрактов с ведущими IT-производителями: Intel, Microsoft, IBM, Samsung. Все проекты связаны с разработкой новых технологий.

    — Можете конкретизировать? Для примера.

    — Например, технологии, связанные с верификацией программ, проверкой их правильности. Более 50% стоимости в программных продуктах Microsoft – это стоимость тестирования. До 70% даже. Соотношение разработчиков к тестерам – как 1 к 1,4. Причем тестеры – это очень квалифицированные люди. Наши разработки позволяют автоматизировать тестирование.

    Еще один пример – «семантический веб». Сегодня в WWW нет семантики. Этим мы тоже занимаемся.

    — Для какой из названных компаний вы это делаете?

    — Работу по тестированию кода мы выполняли для Microsoft и Intel.

    -Что в отрасли происходит с кадрами?

    — Тяжелое положение. Очень тяжелое. Рынок требует существенно больше людей – их просто не хватает. И во всем мире, и у нас.

    — Принято считать, что Россия – родина лучших в мире программистов, наши студенческие команды регулярно выирывают чемпионаты мира.

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

    Для страны это, конечно, огромный престиж. Но победители студенческих соревнований ну никак не сказываются профессиональной программистской деятельности. Соревнования – отдельно, профессиональный уровень программистов – отдельно.

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

    — Так почему же не хватает людей? Ведь привлекательнейшая же область деятельности. Мы разучились учить студентов? Или банально не хватает людей, т.е. населения – Россия ведь не Индия? В чем причина?

    — Причин, наверное, несколько. Это, конечно, и жуткий дефицит преподавательских кадров высокой квалификации. Человек, который учит студентов, должен иметь собственный профессиональный опыт в той области, которую преподает. Тот преподаватель, который только интерпретирует учебники, а потом преподает, не может создать школу.

    Традиции нашего – советского, русского – образования состоят в том, что преподаватель передает личный, жизненный даже, опыт. Этим сильна была наша манера обучения. Я уж не говорю про модель Физтеха, когда студентов старались с младших курсов включить в исследовательский процесс.

    У нас в институте работают где-то сотня студентов Физтеха и МГУ, 40 аспирантов. Но кто из них остается в профессии? Около 20% (и это неплохой показатель). Причина в том, что ребята рано начинают рабочую деятельность. Они только-только научились просто писать программы, и их забирают работать на full time. С третьего курса. А ведь им еще учиться и учиться!

    Кто-то, конечно, вынужден та поступать. В наше время средством студенческого заработка было репетиторство, стройотряды да разгрузка вагонов. Сейчас возможностей больше. Это затягивает. Студент видит, как его товарищ зарабатывает тысячу, скажем, долларов, и думает: а чем я хуже, тоже пойду работать. Хотя не надо это делать, надо учиться! Деньги сами придут со временем, и их будет больше, если сейчас потратить время на учебу.

    — Итак, причина нехватки программистов – недостаточно эффективное образование?

    — Еще – перекосы в образовании, ложные посылы обществу. Ну на кой нам столько экономистов, столько юристов, столько т.н. «менеджеров»? Я не понимаю этого. Столько этих бизнесменов… Что это, вообще? Я не понимаю этот термин. Билла Гейтса бизнесменом никто почему-то не называет.

    Те же проблемы и в других странах. Техническое образование требует большой концентрации усилий в период обучения. В советское время быть ученым, быть инженером, проектирующим самолеты и ракеты, было престижно. Общество с уважением смотрело на этих людей. Общество считало, что это – элита. Сейчас это слово употребляется совсем в другом смысле, я бы сказал, в негативном смысле. Прежде были успешные бизнесмены, «цеховики». Но инженеры в иерархии ценностей стояли выше. Не думаю, что ребенок тогдашнего бизнесмена гордился бы тем, что его папа – цеховик.

    — У нас сейчас другая беда – стало престижно быть чиновником. Или, по-вашему, я употребил слово «беда» не к месту?

    — Вообще говоря, хороший чиновник – это большая ценность. В нашей истории такие есть. Ванников, Косыгин, Байбаков. Это ведь не политики, это чиновники.

    — Я о нынешних чиновниках.

    — А что на чиновников пенять, коли рожа общества крива? Ценности у общества каковы? Говорят, что у нас нет национальной идеи. Но, простите, она была высказана в конце 80-х и в 90-е окрепла: каждый сам за себя, и единственный стимул – «бабки».

    Я не говорю, что все члены общества так живут. Я сегодня подвез пенсионерку. У нее пенсия – 3700 рублей.

    — И вы не считаете чиновников за это ответственными?

    — Ну, воруют, конечно. Воруют нещадно. Что поделаешь. Надо менять что-то в обществе. Только, боже упаси, без революций.

    — Не могли бы вы перечислить фамилии людей, которые на становление той области знаний, в которой вы работаете, оказали в нашей стране наибольшее влияние.

    — В мое время программистов было мало, все друг друга знали. Михаила Романовича Шура-Буру и Андрея Николаевича Тихонова я уже упоминал. Еще – Андрей Петрович Ершов, Святослав Сергеевич Лавров, Николай Николаевич Говорун, Лев Николаевич Королев.

    Я перечислил людей, получивших академические позиции (Шура-Бура академиком, к слову, не стал). Но было очень много интересных людей, невероятно талантливых. Эдуард Зиновьевич Любимский. Игорь Борисович Задыхайло. То были великие программисты.

    — Журнал «Программирование» — что-то я давно его не видел. По-моему, вы его редактируете.

    — Да, я главный редактор. Продолжает выходить тиражом 3 тыс. экземпляров. Есть онлайн-версия. Переводится на английский.

    — Не нашел его в Сети.

    — Редколлегия все права передает издательству – «Наука». Публикация, в том числе в Интернете, их дело. Мы отвечаем только за контент.

    — Очень хочется взять в руки книгу со словами «Российская академия наук» на обложке, которая лежит на вашем столе.

    — Пожалуйста, возьмите. Это справочник.

    — Читаю оглавление. Так, страница 259, «Численный состав академии наук»… На 4 декабря 2008 года всего по отделениям 758 членов, конец цитаты. У нас столько выдающихся ученых?

    — Я приводил примеры, когда выдающиеся ученые не были членами академии. Шура-Бура, в частности.

    — Еще Менделеев.

    — И в советские времена разного уровня люди были в академии. Их же избирают люди. Мне кажется, это наиболее демократично и более справедливо, чем назначение со стороны начальства. Могут говорить, что это самовыборы. Но лучше-то ничего нет. Все остальное было бы хуже. Да, люди допускают ошибки. У нас нет тезиса о непогрешимости членов академии, как о непогрешимости Папы. У нас даже Патриарх считается человеком – он грешен. Точно так же, грешны и члены академии. По определению.

    — Вы сказали, что в академии нет начальства, и что выборы справедливы. Но мне доводилось видеть в газете «Поиск» (газета РАН. – Ред.) термин «главные академики».

    — Странно. Вообще, это очень деликатная тема. То, что я сказал, я сказал искренне. Конечно, самовыборы не исключают несправедливости, не исключают ошибок. Такие же ошибки бывают во всех академиях.

    — Но наша академия – это не «все академии». Она стоит особняком. Это петровское учреждение, своего рода министерство открытий. А академии в других странах – это всего лишь клубы ученых, добившихся результата.

    — Исследовательские институты-то потом возникли. Петр – это его идея была, хотя указ подписала то ли Екатерина, то ли Елизавета, не помню – просто собрал умных людей.

    — И в этом смысле наша академия наук отличается от, скажем, Лондонского королевского общества?

    — Отличается, конечно. Вы думаете, там все члены абсолютно равны, и там не возникает ошибок?

    — Возникают, конечно. Можно вспомнить историю отношений Ньютона и Гука.

    — У каждого человека имеется своя этическая планка. Мы не можем требовать, чтобы у каждого человека она была одинаково высока, и чтобы у каждого была ответственность перед самим собой. Это нелепо. Люди все разные.

    — Ну почему же? Есть профессиональные сообщества, клубы, наконец, где этические требования одинаковы для всех, и их несоблюдение ведет к остракизму.

    — Нет. Несправедливость может проявиться в любом сообществе, любом клубе. Например, кто-то считает, что нужно уступить дорогу или место женщине, пожилому человеку, а кто-то – нет. Это тоже определенная культура, определенная этика.

    — Вы связываете эту аналогию с процедурой выборов в академию?

    — Конечно. Это очень деликатная вещь. Она не попадает под право. Только под этические нормы. А они вырабатываются в семье, в научных коллективах, в отношениях ученика и учителя, в частности.

    — Не много ли все же семь с половиной сотен членов РАН для нашей страны, и как вы оцениваете сегодняшний уровень нашей фундаментальной науки?

    — За 90-е годы мы потеряли ВПК и целые отрасли промышленности. И я не уверен, что это удастся наверстать. Конечно, есть потери и в академии наук. Я говорю не о количестве академиков – это не так важно.

    Мы потеряли несколько поколений ученых. Я вспоминаю начало 90-х. Наши студенты, аспиранты уходили. Уезжали. Слой специалистов очень тонок, и он вымыт. А ведь были уникальные специалисты… Они и сейчас остаются, но они – старики. Академия потеряла несколько поколения, и это очень серьезно. Что мы видим? Лекции читают 70-75-летние люди. Вы представляете, какая это нагрузка? Работа хорошего лектора сродни работе артиста, это огромная физическая и эмоциональная нагрузка. И когда лекции потоку из 200 студентов читают 75-летние, это не очень здорово.

    Вернусь к недавней истории института. Внутренней потребности на работу – я имею ввиду новые технологии программирования – в стране не было. Денег тоже не было. Люди эмигрировали, либо уходили в банки. Вот в какое время я стал директором.

    Для меня подготовка кадров – это одна из священных коров. Я ведь недаром называл компании, с которыми у нас контракты. Это дорогостоящие соглашения. Они дают возможность платить пристойную зарплату нашим сотрудникам.

    Но положение тревожное. И тревожно не то, сколько членов в академии. Да пусть их хоть пять тысяч будет, мне все равно. Не в этом дело, а в том, что нет молодых ребят. Хотя среди членов академии до сих пор есть люди, которыми она может гордиться.

    -Но есть и те, кто является ее позором, при таком-то количестве народа. Просто по закону больших чисел. Не правда ли?

    — Ну что нам говорить о больших числах? Да в каждой второй семье есть дети, недостойные своих родителей. Конечно, наверное, есть. Я это допускаю.

    — Вы – председатель РАСПО. Что сегодня происходит в организации? Чего можно от нее ожидать?

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

    — Когда он закончится?

    — Надеюсь, результаты деятельности РАСПО появятся через полгода-год.