ПЕРСОНЫ

21 сентября в знаменитой Большой аудитории Политехнического музея, где выступали такие выдающиеся ученые, как Нильс Бор и Норберт Винер, П. Л. Капица, И. Е. Тамм, Н. Г. Басов, С. И. Вавилов, О. Ю. Шмидт, И. И. Артоболевский и многие другие, состоялась встреча приехавшего в Россию с большим турне профессора цюрихской Высшей политехнической школы (ETH) Никлауса Вирта (Niklaus Wirth) со студентами московских вузов, журналистами и программистами. Нынешний год для разработок Вирта юбилейный: исполнилось 35 лет языку Паскаль (1970 г.), 25 лет первому европейскому персональному компьютеру Lilith, созданному в ETH группой профессора Вирта, и языку Modula-2 (1980 г.), а также 15 лет языку программирования Оберон (1990 г.). Более формально приезд Никлауса Вирта в Россию приурочен к празднованию 250-летия МГУ и 150-летия ETH в Цюрихе. Этот визит начался 13 сентября с Санкт-Петербурга, где ему на расширенном заседании Ученого совета СПбГУ ИТМО были вручены диплом и мантия почетного доктора Университета ИТМО. В северной столице профессор Вирт также с большим успехом выступил перед студентами ЛЭТИ.

Профессор Никлаус Вирт

Профессор Вирт - автор языков программирования Euler, Algol W, PL360, Pascal, Modula, Modula-2 и Оберон - давно уже стал живой легендой нашей отрасли. Тема его выступления в Москве звучала так: "История и перспективы языка Оберон".

Тем более интересно было узнать его мнение по самым разным вопросам, касающимся языков программирования, самого процесса программирования и обучения этому предмету.

В поездке Никлауса Вирта сопровождает профессор Юрг Гутхнехт, который долгие годы работает с Виртом и благодаря которому, собственно, и состоялось это большое турне. Осуществлению этого некоммерческого проекта способствовали Политехнический музей, ассоциация "Руссофт", московское представительство Microsoft, новосибирские компании, редакции журнала "Мир ПК" и еженедельника PC Week/RE.

Сотрудники новосибирского Института систем информатики (ИСИ РАН) им. А. П. Ершова торжественно передали Политехническому музею экземпляр

32-разрядной Modula-машины "Кронос" - уникальной отечественной разработки начала 1980-х годов, созданной в Советском Союзе учениками и последователями академика А. П. Ершова и являющейся дальнейшим развитием 16-разрядного компьютера Lilith. До наших дней дошло четыре экземпляра"Кроноса". Один экземпляр этой машины отдан в музей М. Лаврентьева в Новосибирске. Два других вместе с БЭСМ-6 и "Агатом" купил Британский музей науки. В мае нынешнего года я посетил этот музей, но ни одной советской машины в его экспозиции не увидел - все они находятся в запасниках. Нужно отдать должное заместителю директора ИСИ Владимиру Филиппову, преодолевшему множество трудностей, чтобы найти и доставить эту машину в Москву.

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

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

Q.: Какие цели вы ставили перед собой, отправляясь в длительный и сложный вояж в Россию?

Никлаус Вирт: Целей моего приезда несколько. Я с большим удовольствием вспоминаю предыдущие поездки в Россию в 1990 и 1996 гг. Я много путешествовал из Швейцарии на Запад, но очень мало ездил на Восток. Потом пришло приглашение на конференцию "Современные информационные технологии и ИТ-образование" и приглашение в Санкт-Петербург, чтобы получить почетную докторскую степень. Этого было достаточно, чтобы подвигнуть меня на поездку. Конечно, у меня есть здесь и друзья, с которыми мне приятно было встретиться.

Я уже понял, что страна состоит из двух отдельных частей: первая - это Москва, а вторая - все остальное. Меня попросили сопровождать моего коллегу Юрга Гутхнехта в его поездке в Нижний Новгород и продолжить наши переговоры в Екатеринбурге, Новосибирске и Томске.

Q.: Как вы относитесь к тому, что в языках программирования используется английский язык?

Н. В.: Язык, на котором записываются программы, и язык, на котором человек программирует, - это не совсем одно и то же. Ключевые слова типа begin, if, end следует рассматривать как математические символы, используемые для выражения мыслей и идей. Но другая отдельная тема - это вмешательство английского языка в другие естественные языки. Немецкий язык уже засорен английскими терминами, и не только техническими. Очень хорошо, когда человек знает и немецкий, и английский языки, но ужасно, если он уже не понимает, на каком языке говорит. У меня есть опасение, что то же самое происходит с русским языком.

(Профессор Юрг Гутхнехт добавляет: "Наш компилятор с Оберона поддерживает очень много языков и даже 80 тысяч китайских иероглифов и позволяет комбинировать сообщения на разных языках.)

Профессор Юрг Гутхнехт

Q.: Какие языки программирования вы считаете нужным преподавать в вузах?

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

Q.: Как продлить жизненный цикл программы?

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

Системный блок ЭВМ

"Кронос" весит около 50 кг.

Сейчас такую машину можно

реализовать в нескольких микросхемах

Q.: Что вы думаете о перспективах отношений между Россией и Европой?

Н. В.: Я не историк и не политик, но думаю, что мы могли бы в цивилизационном плане больше сотрудничать с Россией, поскольку она культурологически гораздо ближе к Европе, чем Америка. Я увидел, что в России сильно очарованы американским мышлением и образом жизни. Но прежде чем что-то применять у себя, стоит подумать, что, собственно, вы заимствуете.

Q.: Когда вы узнали о проекте "Кронос" и как вы к нему относитесь?

Н. В.: Точно не помню, как я узнал об этом. У меня было приглашение в конце 1980-х годов на конференцию, которую новосибирские ученые организовали в Самарканде для студентов, изучающих информатику. Это было время, когда страна открывалась для всего мира. Я с радостью принял это приглашение. Именно тогда я узнал о проекте "Кронос". Это был чрезвычайно смелый проект для того времени.

Q.: Как вы относитесь к проблеме патентования ПО?

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

Q.: Как вы относитесь к открытым исходным текстам?

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

(Профессор Юрг Гутхнехт добавляет: “Я серьезно поддерживаю взгляды своего коллеги. Движение Open Source сильно противодействует компонентному подходу, который был начат Microsoft выпуском технологии COM”.

Поэтому если не учитывать политические и философские аспекты этого движения, то я очень сожалею, что оно есть.)

Q.: Как вы оцениваете язык C#?

Н. В.: А в чем, собственно, вопрос? Понятно, что это реакция Microsoft на язык Java. Очень трудно провести разграничительную линию между этими языками. Если вы хотите, чтобы я сказал об этом языке что-то позитивное, то он гораздо лучше, чем язык С++.

Q.: Можно ли надеяться, что в свободном доступе, как и две предыдущие ваши книги, появится книга по конструированию компиляторов? Ее почти невозможно купить в России.

Н. В.: Если вы немножко подождете, то через пару месяцев я, может быть, вас и порадую. Посмотрите сайт www.Oberon. ethz.ch/books.html.

Зал дружными аплодисментами поблагодарил профессора Вирта за лекцию и ответы на вопросы.

Версия для печати