PIAROFF
Компании
Новости
Пресс-релизы
События
Статьи
~1 минут

О восстановлении исторической правды

Об авторе: Анатолий Шалыто, профессор, д.т.н., Университет ИТМО. Вторая редакция статьи Руслана Богатырева «США и Европа. Две культуры программирования» вышла 20 февраля. В ней, в частности, рассказывается об историческом визите Никлауса Вирта в Росс...

Tag : pascal,программирование

Об авторе: Анатолий Шалыто, профессор, д.т.н., Университет ИТМО.

Вторая редакция статьи Руслана Богатырева «США и Европа. Две культуры программирования» вышла 20 февраля. В ней, в частности, рассказывается об историческом визите Никлауса Вирта в Россию в 2005 году.

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

Первое предложение в этом абзаце содержит фактическую ошибку: профессор Шалыто и его коллеги из ИТМО не встречали дорогих гостей в аэропорту.

Действительно, я по совету Руслана принимал участие в организации этого визита, но так как гости были «золотыми», то предложил организовать его в нашем городе Санкт-Петербургскому филиалу компании Borland, разработавшей компилятор с «Паскаля» (Turbo Pascal) – интегрированную среду разработки ПО и язык программирования для этой среды, который является диалектом «Паскаля», созданного Виртом.

Компания любезно согласилась, создала программу визита, в которой за ИТМО остались только встреча со студентами, на которой классику должны были быть вручены атрибуты Почётного доктора Университета ИТМО. Это с Виртом было согласовано заранее, как и последующая пресс-конференция. По программе аэропорт был за Borland.

До визита классика Учёный совет университета после моего представления избрал Почётным доктором Университета ИТМО лауреата премии Тьюринга 1984 года Никлауса Вирта.

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

Вирт, девушки и цветы (с) Анатолий Шалыто
Вирт, девушки и цветы (с) Анатолий Шалыто

После этого были опубликованы две мои статьи, посвящённые этому событию: «Никлаус Вирт – почётный доктор Санкт-Петербургского государственного университета информационных технологий механики и оптики» // Информационно-управляющие системы. 2005. № 5, с. 56-58 и «Никлаус Вирт – почётный доктор СПбГУ ИТМО» // Компьютерные инструменты в образовании. 2005. № 5, с. 3-7.

Об этом событии вышла еще одна статья: Дмитрия Желвицкого «Проще не получается». В ней, в частности, сказано, что, по словам Андрея Иванова, в то время руководителя Санкт-Петербургского филиала Borland, «если бы не было Вирта, то не было бы и Borland».

В статье автор также описывает фрагмент пресс-конференции, на которой я «сцепился» с Виртом по вопросу, учит ли программирование логическому мышлению. При этом классик начал с того, что сказал: «Хороший язык влияет не только на процесс программирования, но и на образ мышления. Он ведёт к структурированному мышлению, к более точному выражению мыслей, логичному поведению в повседневной жизни». Шалыто на это возразил: «Мой опыт преподавания показывает, что студенты, которые уже являются хорошими программистами, не умеют логически выстраивать фразы ни на русском, ни на английском языках. Особенно на русском». После непродолжительной дискуссии Вирт поправил прежнее свое высказывание: «Хороший язык программирования является лишь одним из многих факторов, влияющих на образ мышления. Большее значение для правильного мышления человека имеет изучение иностранных языков. Важно также глубокое понимание родного языка». Именно этим можно объяснить его интерес к русскому языку, о котором он уже сложил мнение как о совсем не структурированном. Оба профессора согласились в том, что усложнение языков программирования ни к чему хорошему не ведёт».

Кроме изложенного, в дискуссии я задал Вирту два вопроса, которые привёл в статье того времени «Писать по-русски». Первый: «Как Вы считаете, мыслит ли логично человек, программирующий уже более десяти лет и сдавший несколько серьёзных курсов по математике, включая логику, если в одном и том же небольшом документе он пишет то «лампа», то «лампочка», то с большой буквы, то с малой и то по-русски, а то по-английски (хорошо еще, что не по-китайски)?» Второй: «Насколько, по Вашему мнению, логично мыслит человек, который на шестнадцати страницах автореферата диссертации по программированию умудряется оформить списки практически всеми возможными способами: дефис и следом малая буква, точка и малая буква, цифра без точки и большая буква, цифра с точкой и малая буква (не правда ли, здорово: в русском языке после точки с малой буквы!) и т.д., уже не говоря о том, что каждый элемент списка может заканчиваться опять же как угодно – точкой с запятой, точкой, запятой или вообще ничем?»

Классик смутился и сказал, что его слова не надо понимать буквально.

Мне кажется, программирование учило логике при его становлении (время «расцвета» Вирта), когда считалось, что «программист – это математик, умеющий программировать» (см. Кронрод А.С. Беседы о программировании. М.: УРСС, 2001), а машина была доступна с помощью перфокарт всего несколько раз в неделю. В настоящее же время, как я думаю, наиболее часто используемая манера написания программ учит не логике, а разгильдяйству, когда всё и всегда можно исправить. Такая манера напоминает работу плохого лектора, который одной рукой пишет формулы, а другой тут же их стирает. Это изменяет психологию многих программистов, так как при обнаружении ошибок в любой их работе они говорят: «Ну и что, ведь это же релиз».

После описанного я дважды встречался с Виртом в Цюрихе. Первый раз в 2009 года в ходе поездки в ETH, после которой наши ребята стали проводить тренировки по спортивному программированию для швейцарских студентов и школьников («Всемирная школа программирования чемпионов мира из Университета ИТМО»), причём настолько эффективно, что в 2022 году у меня был праздник: мало того, что команда ETH в десятый раз вышла в финал, но и там выступила блестяще – заняла пятое место на чемпионате мира и стала чемпионом Европы!

Второй раз я видел классика в 2010 году на юбилее Бертрана Мейера.

В феврале 2014 года наш университет поздравил профессора Вирта с восьмидесятилетием.

Первого января 2024 году на 90-м году один из основоположников программирования профессор Никлаус Вирт ушёл из жизни. Вечная память!

Во времена широкого применения «Паскаля» молодёжь знала, кто такой Вирт. Сегодня, по словам Андрея Станкевича, легендарного тренера команд кафедры «Компьютерные технологии» Университета, ставшей семь раз чемпионами мира по спортивному программированию, к сожалению, происходит следующее: «Нет «Паскаля» на олимпиадах по программированию, нет Вирта в головах у студентов».

Если молодой IT-специалист прочтёт этот текст, то я советую ему для того, чтобы впустить классика «в голову», для начала ознакомиться со следующим текстом: Богатырев Р. Никлаус Вирт. Заветы смиренного зодчего.

Надеюсь, что после знакомства с моим текстом Руслан восстановит историческую правду :-), а те, кто не слышал о Вирте, немного узнают о нём.