Тексты обо мне, моем университете и моей...

921
Тексты обо мне, моем университете и моей стране Публицистика Текущая версия Оглавление 2001 1. История с игрой Robocode 2002 2. У нас была Великая эпоха! 2003 3. Новая инициатива в программировании. Движение за открытую проектную документацию 4. Об автоматизации стиральных машин 5. Еще один разговор об автоматизации «стиральных» машин 6. Предисловие авторов Н. Туккеля и А. Шалыто к статье «Автоматы и танки» 2004 7. Переписка А.А. Шалыто с главным редактором журнала «Программирование» членом-корреспондентом РАН В.П. Иванниковым 8. А ларчик просто открывался 2005 9. Еще раз об асинхронных процессорах. Памяти Виктора Ильича Варшавского 10. Еще раз об открытой проектной документации 11. Корпорация Borland в Санкт-Петербурге: образование, наука, бизнес 12. Кому нужны ИТ-таланты? 13. Расставим точки над «i»

Transcript of Тексты обо мне, моем университете и моей...

  • Тексты обо мне, моем университете и моей

    стране

    Публицистика

    Текущая версия

    Оглавление

    2001

    1. История с игрой Robocode

    2002

    2. У нас была Великая эпоха!

    2003

    3. Новая инициатива в программировании. Движение за открытую проектную документацию

    4. Об автоматизации стиральных машин 5. Еще один разговор об автоматизации «стиральных» машин

    6. Предисловие авторов Н. Туккеля и А. Шалыто к статье «Автоматы и танки»

    2004

    7. Переписка А.А. Шалыто с главным редактором журнала «Программирование» членом-корреспондентом РАН В.П.

    Иванниковым

    8. А ларчик просто открывался

    2005

    9. Еще раз об асинхронных процессорах. Памяти Виктора Ильича Варшавского

    10. Еще раз об открытой проектной документации 11. Корпорация Borland в Санкт-Петербурге: образование, наука, бизнес

    12. Кому нужны ИТ-таланты?

    13. Расставим точки над «i»

  • 14. Исполняемый UML из России

    15. Две встречи с Айваром Якобсоном

    16. Будут ли в России ИТ-ученые в XXI веке?

    17. Как это было, или почему раньше хорошо учили

    вычислительной технике

    18. Что останется после игры

    2006

    19. Образование и наука – фундамент университета

    20. ИТ-образование: острых проблем еще очень много

    21. Почему холопы плохо работают?

    22. Должен ли народ знать своих героев?

    23. Почему у нас трудности с инновациями?

    24. Об оценке профессионалами

    25. Как правильно?

    26. Кому нужны ИТ-таланты

    27. Писать по-русски 28. Победы и проблемы российской школы программирования

    2007

    29. Триединая задача одного педагогического эксперимента в области ИТ-образования

    30. Русский язык. Шутки в сторону 31. Инновационная система поиска и подготовки высококвалифицированных разработчиков программного

    обеспечения на основе проектного и соревновательного

    подходов

    32. «ВКонтакте»

    2008

    33. Парадигма автоматного программирования 34. Триумф российской школы программирования 35. Сохраним в университетах лучших! 36. Кому нужна игра ума?

    37. Зачем нам чемпионы по программированию?

    Пятнадцать аргументов в пользу программистских

    олимпиад

    38. Зачем нам чемпионы по программированию

  • 2009

    39. Небывалая победа российской школы

    программирования

    40. Кто победил чемпионов по программированию

    41. Проектный подход при обучении разработке

    программ

    42. Спортивное программирование: битва «Россия –

    Китай» продолжается

    43. Сможем ли мы сохранить в университетах лучших?

    44. Одна из причин, почему трудно построить

    экономику, основанную на знаниях

    45. Сколько высококвалифицированных программистов

    может готовить страна в год?

    2010

    46. ИТ-образование: государство и не только

    47. Распределенный «Город Солнца»

    48. Как поссорились специалист по математической

    логике со специалистом по логическому управлению

    49. Ну, Димуля, держись!

    50. Тяжелый коврик и автоматное программирование

    51. На ком держится Россия

    52. Что нам мешает построить экономику, основанную

    на знаниях

    2011

    53. Кадры для ИТ-индустрии: найти и удержать

    2012

    54. Богоугодные мотивации

    55. Здесь делают чемпионов

    2013

    56. Наногарвард для программистов

  • 2014

    57. Спасение молодых талантов

    2015

    58. Я ни о чем не желею

    59. Заметки о русском языке и культуре 60. Об улучшении ситуации в ИТ-образовании в России 61. О «Заметках о мотивации»

    2016

    62. Почему и как граждане должны оплачивать образование 63. Или бизнес помогает классным IT-коллективам в вузах или нам всем труба

    64. Свет в конце туннеля 65. Далекое и близкое 66. Куда ж не расплатившись

    2017

    67. Неопубликованная колонка для журнала Forbes (Россия), в которой я должен был ответить на их вопросы 68. Мое несостоявшееся выступление на встрече

    руководства Университета ИТМО с представителями

    «Международных научных лабораторий» 69. За таланты надо бороться 70. Информационные науки могут преподавать только молодые люди

    71. Россия, институт, кафедра и я

    2018

    72. В одном рукопожатии до Президента 73. Кто выдвинул? 74. Вести с «полей» 75. Бойтесь гнева терпеливого человека или будете более деликатными с нашими молодыми талантами

    76. Они сражались за Родину. Разговор о «Телеграме» на радио «Комсомольская правда»

    77. О «Телеграме» и не только 78. Властные азы

  • 79. Прошел месяц 80. А решение-то суда не вступило в силу... 81. Нужны ли нам прорывы? 82. Чем полезен Роскомнадзор 83. Каков молодец 84. Невозможное – возможно? 85. Флаг в руки 86. Знают ли это все? 87. Красный директор 88. Хорошее дистанционное образование, или Максим на хайпе

    89. Создавать атмосферу успеха 90. После «Алых парусов» 91. Почему они уезжают? 92. Продолжение разговора «Почему они уезжают?» 93. Почему некоторые из них остаются 94. Сколько ИТ-специалистов необходимо стране 95. Отвечаю, но не за все 96. Воображения не хватает 97. Можно ли стать академиком, закончив ПТУ? 98. Об интервью изданию «Коммерсант-наука» 99. Программирование успеха 100. Как закаляется сталь 101. И классное образование, бывает, не учит жизни 102. Лес рубят – щепки летят? 103. В точке кипения 104. Мысли, навеянные статьей об изучении функционального анализа будущими специалистами по

    прикладной математике и информатике

    105. Поражение или победа 106. Всем не угодишь 107. В мире идет ожесточенная броьба за таланты 108. «Они сражались за Родину». Диалоги 109. Зачем он написал это?

    2019 110. Он сам решит, стоит ли ему во второй раз входить в историю человечества

    111. Не видел, не читал, но осуждаю

  • 112. Продолжение обсуждения действа, которое почти никто не видел

    113. Раньше легендой была «Весна в ЛЭТИ», а теперь будет «Наука в ИТМО»

    114. Держать и не пускать, или можно ли, наконец, стать деликатнее

    115. Юбилей 116. Не раздаривать мозги 117. Мы кому-то чем-то обязаны 118. Россия в восьмой раз подряд первая на чемпионате мира по программированию

    119. Чем убийство лучше другого контннта? 120. О Дуде, который сделал практически невозможное 121. Стоит ли здороваться? 122. Никто не забыт, ничто не забыто 123. Лучше не скажешь 124. Удивительные письма 125. Смотреть по-русски 126. Борьба за таланты 127. Так быть не должно 128. Сколько хочешь и сколько можешь 129. Что и требовалось доказать... 130. Стоит ли ехать на «Таити» 131. К вопросу о «цифровом ополчении»

    132. Как, не догоняя Google и Huawei, стать ведущей IT-

    державой 133. Спасатель, а не Спаситель 134. Не сдаемся 135. Мобильность или научные школы 136. «Несистемная» борьба за таланты 137. Говорить по-русски 138. А чем занимается Гена? 139. Обсуждение статьи «А чем занимается Гена?» 140. О создании федерации спортивного программирования 141. О создании федерации спортивного программирования. Продолжение

    142. Не числом, а умением 143. И мне в том числе 144. На всякого мудреца довольно простоты

  • 145. Владимир Андреевич Тимофеев – человек, которого научил меня многому

    146. Заерзал, или Белое и Черное

    2020

    147. Времена не выбирают, в них живут... 148. Кого мы готовим

    149. От курсовых проектов студентов к успехам в

    рейтинге Times Higher Education по Computer Science 150. Педагоги и наставники бывают разными

    151. Мое интервью журналу Bulletin Credit Susse

    152. Как это принято у нормальных людей

    153. Юбилейное 154. Можно ли научиться быть успешным? 155. О дистанционном образовании сегодня 156. Плати потом... 157. Мой первый опыт дистанционного образования 158. Есть ли у ученых интерес к наставничеству? 159. Конечный автомат многим не друг

    Тексты о нас

    160. С автоматом на программиста 161. Технологии программирования 162. Центр подготовки программистов отмечен премией Правительства РФ

    163. Беседа с Президентом РФ 164. Как повысить престиж ИТ-специалистов 165. А что Вы думаете на этот счет? 166. Почему в отечественных вузах не так много хороших ИТ-преподавателей?

    167. Основано на реальных событиях 168. Профессор Университета ИТМО Анатолий Шалыто

    награжден знаком отличия «За наставничество»

    169. Наставник 170. Я – человек, который создает атмосферу успеха

    171. Корпоративный университет: перспективная

    образовательная технология или элементарное

    доучивание?

  • 172. Голливуд в смартфоне: как россияне продали

    Snapchat стартап за $166 млн 173. Сообщество

    Я – интервьюер

    174. Интервью Геннадия Короткевича

    2001

    История с игрой Robocode

    «Однажды в 2001 г. Никита пришел с обеда и сказал, что мне

    повезло, и он напишет автоматную программу на основе объ-

    ектно-ориентированного программирования, а потом пояснил

    почему. Выяснилось, что появилась новая версия популярной

    среди любителей программирования игры Robocode, в которой

    систему управления танком необходимо было писать на объект-

    но-ориентированном языке программирования Java. При ис-

    пользовании этого языка хочешь, не хочешь, а программу надо

    писать объектно.

    Через несколько дней он снова пришел с обеда и сказал, что его

    танк ещ не стреляет, но уже всех побеждает, умело уклоняясь от

    выстрелов противника. На это я ответил, что этот танк надо

    срочно выставлять на сайт игры. На это Никита ответил, что он

    выставит его сразу после того, как танк начнет стрелять. Я

    посчитал это неправильным, так как если побеждает стреляющий

    танк, то в этом нет ничего необычного, а на победу

    нестреляющего танка обратят внимание все. Так оно и случилось,

    и мы с танком Cynical вошли в историю

    (http://old.robowiki.net/robowiki?History) этой игры.

    Реализация автоматов в указанной игре в дальнейшем была

    названа «оборачивание автоматов классами», а использованный

    стиль программирования – «объектно-ориентированное

    программирование с явным выделением состояний». Когда

    создание стреляющего танка было закончено, мы разработали и

    опубликовали в сети Интернет проектную документацию на его

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

    была очень популярной, и поэтому об этом танке узнали многие,

    в том числе и наши студенты. Когда однажды на лекции я

    упомянул этот танк, несколько студентов третьего курса сильно

    http://old.robowiki.net/robowiki?History

  • удивились тому, что он был разработан нами. Основное

    признание нашей работы наступило через год – в 2002г., когда

    пятикурсник Денис Кузнецов (двукратный призер чемпионатов

    мира по программированию в составе команды Университета

    ИТМО с Геогием Корнеевым и Андреем Станкевичем) на моей

    лекции сказал, что он преподает программирование во Дворце

    творчества юных и выбрал игру Robocode для обучения старше-

    классников объектно-ориентированному программированию.

    При этом он отметил, что просмотрел более 30 танков и выбрал

    наш, так как только на него имеется проектная документация. Вот

    его курсовой проект на эту тему, выполненный в 2003 г.:

    http://is.ifmo.ru/projects/robocode2/.

    Поэтому нашу программу легко понять и сделать ее рефакторинг

    с целью придания ей «большей объектности», причем автоматы в

    ходе преобразования программы не пришлось переделывать. А

    вот что было написано о нашей роли в игре Robocode в статье

    Озерова А. Четыре танкиста и компьютер // Магия ПК. 2002.

    № 11, c. 61-63: «После выхода программы за несколько дней с

    сайта IBM было скачано 1 000 000 копий. За несколько месяцев

    игра обрела большую популярность среди программистов всего

    мира. В Интернете достаточно много сайтов, посвященных

    реализации танков для этой игры. Однако наибольший интерес

    среди участников проекта вызвала российская реализация проекта

    с использованием SWITCH-технологии, предложенная сотрудни-

    ками Санкт-Петербургского государственного института точной

    механики и оптики Н.И.Туккелем и А.А.Шалыто. Наши ученые

    на основе теории автоматов предложили модель танка, который

    запросто обыгрывает любого чемпиона лиги роботов. Точная

    математическая модель и использование современных методик

    программирования позволили российскому танку занять

    достойное место среди призеров лиги Robocode». Статья по этой

    тематике была опубликована нами через год (Туккель Н.И.,

    Шалыто А.А. Автоматы и танки // BYTE/Россия. 2003. № 2,

    c.69-73).

    И еще. В статье Robocode (https://habr.com/ru/post/59784/),

    опубликованной в 2009 г. (!), было написано: «Интересно

    подошли к написанию робота в Университете ИТМО. Танк был

    разработан с использованием SWITCH-технологий (смесь

    автоматного и объектно-ориентированного программирования). К

    http://is.ifmo.ru/projects/robocode2/https://habr.com/ru/post/59784/

  • проекту прилагается серьезная проектная документация. Вы

    можете скачать ее и исходные коды танка бесплатно на странице

    проекта: http://is.ifmo.ru/projects/tanks/». В обсуждении этой

    статьи участвовал и Никита Туккель: «Стоит вспомнить, что

    первая версия этого танка была некоторое время чемпионом мира

    в регулярных соревнованиях. На странице, посвященной истории

    игры (http://old.robowiki.net/robowiki?History), написано, что

    появление этого танка заставило разработчиков сменить правила.

    Танк назывался counterwallrobot.Cynical. Его автор – я ☺. Давно

    дело было…». Это все, что я хотел рассказать о нашем участии в

    программировании этой игры.

    Описанная история началась в 2001 г.».

    Это фрагмент из моей книги «Мои счастливые годы жизни на

    кафедры «Компьютерные технологии» Университета ИТМО (к

    двадцатилетию кафедры). Она опубликована: http://www.computer-museum.ru/books/shalyto_happy_years_new.pdf,

    http://is.ifmo.ru/belletristic/Shalyto-moi-shastlivye-gody-na-CT.pdf.

    2002

    У нас была Великая эпоха!

    Недавно я был на совещании в Нижегородском государственном

    университете им. Н. И. Лобачевского и в одном из выступлений

    тридцатипятилетнего докладчика из Новосибирского Академ-

    городка услышал словосочетание «комбинаторные схемы»,

    которое резануло слух.

    Моя реплика о том, что в советской литературе по теории

    автоматов такие схемы всегда назывались не «комбинаторными»,

    а «комбинационными», не заставила себя долго ждать, как

    впрочем, и ответ докладчика: «Советскую литературу по этой

    тематике не читал, я применяю англоязычные руководства для

    пользователей».

    Такой ответ меня, естественно, возмутил, так как у нас в стране

    в этой области была Великая эпоха, а даже уже не очень молодые

    люди не знают об этом, и, самое главное, похоже и знать не хотят,

    так как это их никуда не приближает.

    http://is.ifmo.ru/projects/tanks/http://old.robowiki.net/robowiki?Historyhttp://www.computer-museum.ru/books/shalyto_happy_years_new.pdfhttp://www.computer-museum.ru/books/shalyto_happy_years_new.pdfhttp://is.ifmo.ru/belletristic/Shalyto-moi-shastlivye-gody-na-CT.pdf

  • Указанный ответ меня не удивил, так как я в последнее время

    общался с большим числом очень сильных молодых

    программистов из различных организаций и ни один из них

    не знал, что в нашей стране уже более 25 лет Академия наук

    выпускает журнал «Программирование», который на английском

    языке выходит под названием «Programming and Computer

    Software» (годовая подписка этого не очень толстого журнала

    стоит 1292$ за шесть номеров и 1550$ при их совместном

    приобретении вместе с электронной версией). Полное отсутствие

    интереса к авторитетному (иначе за него не платили бы на Западе

    такие деньги) в мире профессионального программирования

    журналу, видимо, связано с его теоретической направленностью,

    которая, похоже, «продвинутым» программистам мало интересна.

    А ведь и в области программирования в Советском Союзе, как

    будет показано ниже, была Великая эпоха, тесно связанная

    с эпохой в теории автоматов.

    Никаких воспоминаний я писать не собирался (да и, видимо, еще

    рано, правда, завтра может быть поздно – как кто-то сказал: «Где

    я, а где завтра?»), но сказанное выше подействовало, и я решил

    написать про Гавриловские школы и про то, что происходило

    вокруг них.

    Что такое Гавриловские школы?

    Это Школа по теории релейных устройств и конечных автоматов,

    носящая сейчас имя члена-корреспондента АН СССР Михаила

    Александровича Гаврилова (1903-1979), который в течение

    многих лет работал в Институте проблем управления (Институт

    автоматики и телемеханики) АН СССР (Москва). Михаил

    Александрович внес определяющий вклад в становление

    прикладной теории автоматов в нашей стране и в объединение

    вокруг этой теории людей, ставших друзьями на всю жизнь.

    Гавриловские школы – это уникальное явление, не имеющее

    аналогов в современной мировой науке. Ни в одной области

    науки, ни в одной стране мира нет Школы, которая

    существовала бы уже более сорока лет, причем заседания Школы

    проходили и проходят не в одном месте, а в различных городах

    СССР.

  • Из Школы М. А. Гаврилова выделился ряд других школ:

    по диагностике, по однородным структурам, по автоматизации

    проектирования.

    За это время через Школу прошли сотни людей, некоторых из них

    я по назову ниже. Я не могу перечислить всех, так как стал

    заниматься автоматами только с 1971 г., да и на школах бывал

    не так часто, но, видимо, являюсь последним поступившим

    в Школу при МАГе (Михаиле Александровиче Гаврилове)

    и, к сожалению, дело идет к тому, что могу стать последним, кто

    ее закончит, так как «одних уж нет, а те далече». Тем более что

    и журнал «Автоматика и телемеханика», базирующийся

    в Институте проблем управления, перестает быть оплотом этого

    научного направления, так как перестает принимать статьи

    по логическому синтезу, считая в настоящее время эту область

    не научной, а технологической. Хотя, как говорил

    С. В. Яблонский, «если наука не спекулятивна, она не устареет».

    Теория релейных устройств начала развиваться в мире

    с пионерской работы японца А. Накашима (1935 г.). В 1938 г. К.

    Э. Шеннон (1916-2001 гг.) опубликовал аналогичную работу

    «Символический анализ релейных и переключательных схем»,

    имевшую огромное влияние на развитие этого направления науки

    в мире. В. И. Шестаков (1907-1987 гг.) в 1941 г. опубликовал

    работу «Некоторые математические методы конструирования

    и упрощения двухполюсных схем класса А», выполненную

    в 1935-1938 гг. на физическом факультете МГУ

    им. М. В. Ломоносова.

    А ведь до Шестакова в нашей стране (г. Казани) работал

    И. И. Жегалкин (опередивший лет на тридцать американцев Рида

    и Миллера), работу которого 1924 г. на русском языке я видел

    в 1995 г. в США на конференции по ситуационному управлению

    (предложенному Дмитрием Александровичем Поспеловым)

    в руках у военного-ученого из Пентагона, занимавшегося NP-

    трудными задачами. Он неожиданно нашел меня по Интернету

    и вновь проявил интерес к исследованиям Жегалкина в области

    полиномов. Кстати, отметим, что первой задачей, для которой

    была доказана ее NP-полнота, является задача «Выполнимость

    булевой формулы», а все остальные задачи этого класса могут

    быть сведены к ней.

  • А еще задолго до Жегалкина в Казани работал П. С. Порецкий,

    одна из основополагающих работ которого по математической

    логике датируется 1884 г., а на возможность использования

    алгебры логики при построении релейных схем впервые указал

    Ч. Пирс еще в 1986 г ., а в России – петербургский физик

    П. С. Эренфест (1910 г.). К числу авторов первых в мире работ

    по проектированию релейных схем следует отнести наших

    соотечественников А. Кутти и М. Цымбалистого (1928 г.).

    После работ В. И. Шестакова в этой области науки в СССР

    наступила эпоха М. А. Гаврилова, которая могла (если бы

    не было борьбы с кибернетикой, железного занавеса и других

    характерных для нас прелестей) превратиться в его эпоху во всем

    мире, тем более, что К. Э. Шеннон от работ в этой области весьма

    скоро отошел.

    М.А. Гаврилов начинал свою научную деятельность

    с практических работ по телемеханике, в которой релейные

    устройства строились эвристически. Он пришел к выводу, что

    этот класс устройств может быть синтезирован с помощью

    формализованных методов, про которые написал одну из первых

    в мире монографий: Гаврилов М. А. Теория релейно-контактных

    схем. М., Изд-во АН СССР, 1950. Первую книгу по этой тематике

    опубликовал в 1947 г. австрийский ученый О. Плехль. Она

    называлась «Schalter und Apparatebau».

    Однако путь МАГа в этом направлении не был усыпан розами.

    Так, докторскую диссертацию по данной тематике он смог

    защитить только в 1946 г., и только благодаря усилиям философа

    С. А. Яновской, которая смогла убедить окружающих, что

    применение булевой алгебры при синтезе схем не является

    идеализмом и не противоречит марксизму-ленинизму, а также

    Акселю Ивановичу Бергу. Да и в Академию наук он был избран

    сравнительно поздно ( 1963 г .). Интересно, что про МАГа и его

    окружение написана художественная книга (что редко бывает

    применительно к ученым, особенно при их жизни) – Юрий Вебер

    «Когда приходит ответ», изданная, по-моему, в «Детгизе»! Это

    вам не покемоны с телепузиками. Эта книга в дальнейшем была

    переиздана в издательстве «Художественная литература» в серии

    «Пути в незнаемое».

    После выхода в 1950 г. книги М. А. Гаврилова началось!

  • Гелий Николаевич Поваров (с которым я переписывался еще

    сравнительно недавно) в 50-х годах публикует до защиты

    кандидатской диссертации (доктором он, к сожалению, почему-то

    не стал, но зато стал классиком) с десяток статей в «Докладах

    Академии наук» (вспомните какого уровня публикации

    в большинстве случаев встречаются в нынешних диссертациях,

    особенно кандидатских, по компьютерным наукам).

    Павел Павлович Пархоменко в 1956 г. на Всемирной выставке

    в Брюсселе получает Золотую медаль за машину для

    минимизации релейных схем.

    Я выше отметил, что пишу не историю, а лишь «рефлексию»,

    поэтому перехожу к перечислению участников Школы, о которых

    я помню или знаю. «Школьники» разбиты на классы по имени

    своего Учителя или по территориальному принципу.

    Ученики М.А. Гаврилова – Кузнецов О.П., Казаков В.Д.,

    Томфельд Ю.Л., Тимофеев Б.Л., Остиану В. М., Ляхович В.Ф.,

    Девятков В.В., Пупырев Е.И., Амбарцумян А.А., Потехин А.И.,

    Степаненко С.А., Бивол Л.Г., Малевич А.Н., Запольских Е.Н.,

    Чичковский А.Б., Липатников В.И., Искра С.А., Ивченков Л.А.,

    Шоломов Л.А., Макаревский А.Я., Шипилина Л.Б.,

    Марковский А.В., Вольвовский Л.А., Григорян А.К.,

    Окуджава В.Ш., Лаговиер Б.А., Воклер И.Э.,

    Золотаревская М.Я., Галактионова Е.И., Гребенюк Е.А.,

    Котляр С.Б. и др.

    Ученики В.М. Глушкова, создавшего методологию синтеза

    цифровых автоматов и решившего обобщенную пятую проблему

    Гильберта (Институт кибернетики, Киев) – Капитонова Ю.В.,

    Летичевский А.А., Цетлин Г.Е., Стогний А.А., Рабинович З.Л.,

    Иваськив Ю.Л., Коваль В.Н., Чеботарев А.Н., Мацевитый Л. В.,

    Деркач В.П., Денисенко Е.Л., Чайка Н.С., Алексеенко В.Г.,

    Мищенко А.Т., Гороховский С.С., Боднарчук В.Г.,

    Комухаев Э.И., Литвинов В.В. и др.

    Ученики И.В. Прангишвили (Институт проблем управления) –

    Игнатущенко В.В., Малюгин В.Д., Бабичева Е.В.,

    Абрамова Н.А., Ускач М.А., Вишневский В.М., Медведев И.Л.,

    Стецюра Г.Г., Вейц А.В., Чачанидзе В.Г., Асатиани Г.Г.,

    Абуладзе Т.Д., Егоров И.П., Степановская И.А.,

  • Сперанская И.В, Попова Г.М., Смородинова О.Г., Чудин А.А.,

    Прохорова Э.Г., Быховский В.К., Певцов Д.В., Соколов В.В.,

    Зуенков М.А. и др.

    Ученики В.Г. Лазарева (Институт проблем передачи

    информации, Москва) – Пийль Е.И., Дьяченко В.Ф.,

    Саввин Г.Г., Гармаш В.А., Наумчук (Сергеева) О.Ф.,

    Крейнин Г.В., Исьянов В.М., Ершова Э.Б., Ершов В.А.,

    Майстрова Т.Л., Иванова О.Н., Турута Е.Н., Ченцов В.М.,

    Бутрименко А.В., Черняев В.Г., Савельев А.Г., Сейфула И.Д.,

    Донианц В.Н., Фирсов А.И., Пепинов Ф.И., Кондратьева Е.А.,

    Сопруненко Е.П., Паршенков Н.Я., Соловьев А.В.,

    Богданова Г.В., Зорева Л.Н. и др.

    Ученики В.И. Варшавского (Ленинград) – Розенблюм Л.Я.,

    Овсиевич Б.Л., Боголюбов И.Н., Воронцова И.П.,

    Песчанский В.А., Мараховский В.Б., Стародубцев Н.А.,

    Цирлин Б.С., Кондратьев А.В., Кишеневский М.А.,

    Таубин А.Р., Астановский А.Г., Финкельштейн Р.Л.,

    Яковлев А.В.

    Ученики А.Д. Закревского (Томский государственный

    университет, Институт технической кибернетики, Минск) –

    Янковская А.Е., Поттосин Ю.В., Матросова А.Ю.,

    Новоселов В.Г., Ротко В.Ф., Торопов Н.Р., Агибалов Г.П,

    Евтушенко Н.В., Черемисинова Л.Д., Бибило П.Н.,

    Шнейдер Б.Н., Василенок В.К. и др.

    Ученики Э.А. Якубайтиса (Институт автоматики

    и вычислительной техники, Рига) – Фрицнович Г.Ф.,

    Гобземис А.Ю., Чапенко В.П., Горобец В.Г., Петренко А.Ф.,

    Гуртовцев А.Л., Калнберзинь А.Я., Гринберг Э.Я., Илзиня И.Г.,

    Лемберский И.Г., Ланге Э.Э., Калниньш Я.Я.,

    Толмачева А.Ю. и др.

    Ученики Д.А. Поспелова – Захаров В.Н., Хазацкий В.Е.,

    Вагин В.Н. и др.

    Ученики А.В. Каляева (Таганрогский радиотехнический

    институт) – Мелехов А.Н., Курейчик В.М., Берштейн Л.С.,

    Иванов Г.И., Топольский Н.Г., Гузик В.Ф., Пьявченко О.Н.,

  • Лисяк В.В., Кодачигов В.И., Макаревич О.Б., Витиска Н.И.,

    Денисенко Н.И., Калашников В.А. и др.

    Ученики П.П. Пархоменко (Институт проблем управления) –

    Горовой В.Р., Карибский В.В., Согомонян Е.С., Аксенова Г.П.,

    Халчев В.Ф., Каравай М.Ф. и др. Диагностикой, связанной

    с теорией автоматов, занимались также Коган И.В. и Гробман

    Д.М.

    Ученики В.П. Чистова (Инсититут математики, Свердловск) –

    Битюцкий В.П., Закурдаев Н.В., Ковалин Н.В., Кононенко И.А.,

    Ситников И.О., Гогина М.А. и др.

    Перейдем к перечислению других «школьников».

    Москва – Цетлин М.Л., Харкевич А.Д., Поспелов Г.С.,

    Варшамов Р.Р., Рогинский В.Н., Архангельская А.А.,

    Нейман В.И., Таль А.А., Айзерман М.А., Розеноэр Л.И.,

    Гусев Л.А., Смирнова И.М., Трахтенгерц Э.А., Юрасов А.Н.,

    Войшвилло Е.К., Меклер Я.И., Воржева В.В., Диденко В.П.,

    Иванов В.И., Таланцев А.Д., Васильева Н.П., Сагалович Ю.Л.,

    Горбатов В.А., Стефанюк В.Л., Доманицкий С.М.,

    Максимов В.И., Юдицкий С.А., Тагаевская А.А.,

    Ефремова Т.К., Берендс Т.К., Заславский И.Д., Шрейдер Ю.А.,

    Озерной В.М., Редькин Н.П., Миллерова М.Г., Иванов Н.Н.,

    Руднев В.В., Михайлов Г.И., Кукинов А.М., Шамров М.И.,

    Попов Ю.А., Бочков П.Е., Голунков Ю.В., Гурвич Е.И.,

    Гурвиц Е.А., Дулепов Е.Г., Карасик В.М., Белявский В.Л.,

    Казаков А.Д. и др.

    Ленинград – Карповский М.Г., Баранов С.И., Немолочнов О.Ф.,

    Фирдман Г.Р., Питтель Б.Г., Сапожников В.В., Сапожников

    Вл.В., Карпов Ю.Г., Артюхов В.Л., Копейкин Г.А.,

    Шалыто А.А., Кондратьев В.Н., Кухарев Г.А., Москалев Э.С.,

    Перчук В.Л., Дудкин В.С., Лапкин Л.Я., Берлин А.Н.,

    Альтшуль С.Д., Гильман Г.И., Рог Г.В., Иохельсон Е.Д.,

    Авсаркисян Г.С. и др.

    Киев – Вавилов Е.Н., Портной Г.П., Егоров Б.П., Шишков Д.Б.,

    Карташев В.И., Карташева С.П., Сафонов И.В. и др.

    Новосибирск – Бандман О.Л., Евреинов Э.В., Косарев Ю.Г.,

    Фет Я.И., Макаров Л.И., Макаров С.В., Маркова В.П.,

  • Пискунов С.В., Ачасова С.М., Анишев П.А., Мишин А.И.,

    Седристый Б.А., Мерекин Ю.В., Сергеев С.Н., Корнеев Ю.Н.,

    Койфман А.А., Скоробогатов В.А., Хорошевский В.Г.,

    Иловайский И.В., Хрущев А.И., Потапов В.И.,

    Седухин С.Г. и др.

    Минск – Блох А.Ш., Ладес В.И., Павловский А.И.,

    Казущик В.А., Пономаренко В.К., Неверов Г.В., Горелик А.В.,

    Уткин А.А., Скляров В.А., Синев В.Н., Шмерко В.П.,

    Янушкевич С.Н., Зайцева Е.Н. и др.

    Ярославль – Маматов Ю.А. Новочеркасск – Мельников М.С.

    Пенза – Левин В.И. Рязань – Корячко А.П. Рига –

    Страздинь И.Э., Скляревич А.Н., Белявский В.Л.

    Владивосток – Май В. П., Грейнер Г. Р., Гольдман Р. С.,

    Чипулис В. П., Токмакова Л. И.

    Донецк, Саратов – Богомолов А.М., Сперанский Д.В.,

    Барашко А.С., Грунский И.С., Козловский В.А., Баркалов А.А.,

    Твердохлебов В.А. и др. Кишенев – Кришталь В.З., Булат М.С.

    Таллин – Тамм Б.Г., Тыугу Э.Х., Тани Х.И., Кээвалик А.Э.

    Ужгород – Айзенберг Н.Н. Севастополь – Бутаков Е.А.,

    Островский В.И.

    Фрунзе – Образцов В.В., Арсентьев Ю.Н., Копыленко В.М.,

    Базарбаева Т.Г., Вострова З.И. Тбилиси – Чавчанидзе В.В.,

    Гиоргадзе А.Х., Цирамуа Г.С., Ананиашвили Г.А.,

    Баку – Фараджев Р.Г., Аскеров Ч.И., Гамидов В.В. Каунас –

    Абрайтис Л.Б., Атстопас Ф.Ф., Жинтелис Г.В. и др. Ташкент –

    Абдулаев Д.А., Юнусов Д.

    Харьков – Попов В.А., Скибенко И.Т., Мокляк И.Г.,

    Сычев А.В., Мищенко В.А., Козюминский В.Д.,

    Семашко А.Н. и др. Тирасполь – Выхованец В.С.

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

    еще много других ученых, которые не названы выше, так как

    не принимали участия в работе Гавриловских школ. В это время

    активно работали Майоров С.А., Новиков Г.И.,

    Скорубский В.И., Смолов В.Б., Пузанков Д.В., Балашов Е.П.,

  • Петров Г.А., Барашенков В.В., Игнатьев М.Б., Торгашев В.А.,

    Кравцов Л.Я., Кузнецов Б.П. и многие, многие другие.

    Теорией вероятностных автоматов занимались: Бухараев Р.Г.,

    Срагович В.Г., Церцвадзе Г.Н., Лоренц А.А., Флеров Ю.А.,

    Чирков М.К., Новорусский В.В. и др.

    Кроме исследований в области прикладной теории автоматов

    в СССР сложилась школа математиков, занимавшихся теорией

    автоматов, которая в основном сформировалась в Институте

    прикладной математики АН СССР (Москва) и МГУ и оказала

    существенное влияние на прикладную теорию автоматов

    и специалистов, работавших в этой области.

    Лидером этой школы по сей день является О.Б. Лупанов,

    автореферат кандидатской диссертации которого занимает чуть

    больше одной страницы (на защиту выносилось доказательство

    асимптотической оценки сложности реализации произвольной

    булевой функции контактными схемами; при этом верхняя

    оценка, полученная К.Э. Шенноном, уменьшалась в два раза),

    а не печатный лист, как это бывает обычно.

    Автор имел честь однажды беседовать с Олегом Борисовичем,

    и эта беседа запомнилась на всю жизнь. Она без предварительной

    договоренности началась в 22-15, а закончилась далеко

    за полночь. При этом один из крупнейших в области дискретной

    математики ученых мира, несмотря на то, что видел меня первый

    раз в жизни (правда, моя первая книжка, которую я ему послал,

    стояла у него в шкафу), внимательно слушал и никуда

    казалось бы не торопился, а ведь дело было на Ленинских горах

    зимой, в мороз, и ему еще необходимо было добраться домой,

    а используя принятую выше терминологию, эта беседа его мало

    куда приближала.

    Еще один интересный штрих. Я однажды сообщил о юбилее

    Лупанова своему научному руководителю В.Л. Артюхову,

    который предположил, что Олегу Борисовичу восемьдесят лет,

    а не всего пятьдесят, как было на самом деле, так как к тому

    времени Лупанов был широко известен уже долгие годы.

    В эту школу входили также Яблонский С.В., Журавлев Ю.И.,

    Чегис И.А., Потапов Ю.Г., Васильев Ю.Л., Коршунов А.Д.,

  • Фрейвалд Р.В., Мартынюк В.В., Шестопал Г.А.,

    Медведев Ю.Т., Левенштейн В.И., Гаврилов Г.П.,

    Кудрявцев В.Б., Алешин С.В., Подколзин А.С., Карпова Н.А.,

    Храпченко В.М., Буевич В.А., Карацуба А.А., Кратко М.И.,

    Редько В.Н., Кузнецов А.В., Сапоженко А.А.,

    Субботовская Б.А. и др.

    Кроме того, в Москве в это время работали такие известные

    ученые в области дискретной математики и искусственного

    интеллекта, как Адян А.С., Успенский В.А., Кронрод М.А.,

    Адельсон-Вельский Г.М. и Ландис Е.М., АВЛ-деревья которых

    изучают во всем мире в курсе теории алгоритмов,

    Арлазаров В.Л., Усков А.В., Хачиян Л.Г., предложивший

    полиномиальный алгоритм в линейном программировании,

    Зарипов Р.Х. и др.

    В Новосибирске области теории автоматов и дискретной

    математики работали Трахтенброт Б.А., Кобринский Н.Е.,

    Ершов Ю.Л., Гладкий А.В., Кузьмин В.А., Глаголев В.В.,

    Кратко М.И., Кричевский Р.Е., Евстигнеев В.А. и др.

    В этой области в Риге работал Бардзинь Я.М., а в Казани –

    Нигматуллин Р.Г.

    В Ленинграде исследования по математической логике

    выполняли Шанин Н.А., Матиясевич Ю.В., решивший десятую

    проблему Гильберта, Маслов С.Ю., Слисенко А.О., Цейтин Г.С.,

    а по теории автоматов – Нечипорук Э.И., Лунц А.Г.

    Исследования по теории автоматов проводились в СССР

    параллельно с созданием практического и теоретического

    программирования. В его становлении принимали участие такие

    ученые, как Абрамов А.А., Брудно А.Л., Янов Ю.И.,

    Ершов А.П., Иванников В.П. (главный редактор журнала

    «Программирование»), Шура-Бура М.Р., Подловченко Р.И.,

    Кулагина О.С., Лавров С.С., Задыхайло И.Б., Любимский Э.З.,

    Люстерник Л.А., Камынин С.С., Калужнин Л.А.,

    Мартынюк В.В., Трифонов Н.П., Жоголев Е.А., Турчин В.Ф.,

    Шестаков В.И., Штаркман В.С., Ющенко Е.Л., Королюк В.С.,

    Агафонов В.Н., Поттосин И.В., Касьянов В.Н.,

    Непомнящий В.А., Котов В.Е., Сабельфельд В.К.,

    Нариньяни А.С., Вальковский В.А. и др.

  • Работы по теории автоматов и программированию косвенно

    и впрямую использовались при создании отечественной

    вычислительной техники, некоторые образцы которой (например,

    машины М-10 и БЭСМ-6) не уступали, а во многом

    и превосходили зарубежные аналоги. Это, в первую очередь,

    касалось закрытой тематики, так как в противном случае СССР

    не мог бы обеспечить оборонный паритет. Среди создателей

    отечественной вычислительной техники следует отметить таких

    выдающихся конструкторов, как Лебедев С.А., Брук И.С.,

    Рамеев Б.И. (доктор технических наук без высшего образования),

    Бессонов Н.И., Базилевский Ю.Я., Матюхин Н. Я.,

    Брусенцов Н.П., Королев Л.Н., Карцев М.А., Бруевич Н.Г.,

    Малиновский Б.Н., Бункин Б.В., Бурцев В.С., Мельников В.А.,

    Бабаян Б.А. и др.

    Теория автоматов, программирование и вычислительная техника

    развивались в рамках единого направления, названного

    Норбертом Винером «Кибернетика» (сегодня это «Информатика»

    или Computer Science), для которой также было характерно

    рассмотрение вопросов управления в живой природе. Этому

    посвятили свои исследования Тимофеев-Ресовский Н.В.,

    Шмальгаузен И.И., Лурия А.Р., Гурфинкель В.С. и многие

    другие.

    Роль Берга А.И., Гаазе-Рапопорта М.Г., Дородницына А.А.,

    Котельникова В.А., Гнеденко Б.В., Бусленко Н.П.,

    Добрушина Р.Л., Бонгарда М.М., Полетаева И.А., Китова А. И.,

    Криницкого Н.А. в становлении кибернетики в СССР трудно

    переоценить.

    Многие из перечисленных выше специалистов являются

    крупными учеными мирового уровня, но кроме них развитию

    кибернетики в нашей стране помогали такие титаны науки, как

    Канторович Л.В., Келдыш М.В., Лаврентьев М.А.,

    Соболев С.Л., Новиков П.С., Марков А.А. (младший),

    Гельфанд И.М., Мальцев А.И., Ляпунов А.А.

    Несколько слов об Алексее Андреевиче Ляпунове (1911-1973 гг.),

    ученике Лузина Н.Н., внесшем большой вклад в становление

    теоретического программирования в мире.

  • Для студентов кафедры вычислительной математики МГУ в 1952-

    53 учебном году Алексеем Андреевичем был прочитан

    небольшой по количеству лекций (восемь!) курс под названием

    «Принципы программирования». В процессе его чтения у лектора

    сформировалась система понятий, положенная в основу его

    операторного метода. Из него выросли затем и символические

    языки программирования, трансляторы (именуемые ранее

    программирующими программами) и теория схем программ.

    Алексей Андреевич начинал свой курс, когда программистов

    были единицы, а то немногое, что относилось к ЭВМ, было

    засекречено. Решению будущих фундаментальных проблем

    программирования очень помогло непосредственное знакомство

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

    машиной, для чего ему пришлось съездить в Феофанию, что под

    Киевом: там она была создана под руководством С. А. Лебедева»

    (Р.И. Подловченко).

    Кстати, как тесен мир: одно из книжных издательств попросило

    профессора МГУ Римму Ивановну Подловченко дать отзыв

    на план-проспект книги «Теория автоматов

    в программировании», написанный мною в соавторстве

    с Н.И. Туккелем. Она отзыв дала, однако мы с Никитой книгу не

    написали, но потом были опубликованы следующие книги:

    Шалыто А.А. SWITCH-технология. Алгоритмизация и

    программирование задач логического управления. СПб.:

    Наука,1998, 628 с. (http://is.ifmo.ru/books/switch/1), Шалыто А.А.

    Логическое управление. Методы аппаратной и программной

    реализации алгоритмов. СПб.: 2000, 780 с.

    (http://is.ifmo.ru/books/log_upr/1), Поликарпова Н.И., Шалыто

    А.А. Автоматное программирование. СПб.: Питер, 2009, 176 с.

    (http://is.ifmo.ru/books/_book.pdf) и Вельдер С.Э., Лукин М.А.,

    Шалыто А.А., Яминов Б.Р. Верификация автоматных программ.

    СПб.: Наука, 2011, 242 с.

    (http://is.ifmo.ru/verification/velder_verification_posobie_nauka.pdf).

    Переходя к обзору достижений А.А. Ляпунова, отметим прежде

    всего его работы по теории программирования. Уже в ранний

    период развития программирования были осознаны трудности

    в создании больших программ без предварительного составления

    подходящей блок-схемы в терминах достаточно крупных

    операций. В 1953 г. Алексей Андреевич предложил метод

    http://is.ifmo.ru/books/switch/1http://is.ifmo.ru/books/log_upr/1http://is.ifmo.ru/books/_book.pdfhttp://is.ifmo.ru/verification/velder_verification_posobie_nauka.pdf

  • предварительного описания программ при помощи операторных

    схем, который был ориентирован на четкое выделение основных

    операторов и на построение своеобразной алгебры

    преобразований программ. Этот метод благодаря алгебраической

    записи оказался значительно более удобным, чем применявшийся

    ранее метод блок-схем. Он стал основным средством

    автоматизации программирования и положен в основу развития

    идей советской школы программирования. В дальнейшем эти

    идеи углублялись и развивались как советскими (Ю.И. Янов,

    А.П. Ершов), так и зарубежными учеными. На этом пути было

    достигнуто лучшее понимание того, как можно преобразовывать

    схемы программ эквивалентным образом и оценивать

    получающуюся программу по виду ее логической схемы»

    (Б.А. Трахтенброт).

    «IEEE (The Institute of Electrical and Electronic Engineers) как

    международное сообщество существует уже более 100 лет.

    В 1946 г. в нем было основано структурное подразделение –

    Computer Society, которое объединяет сотни тысяч

    профессионалов, работающих в области компьютерной науки

    и индустрии: информатики, программирования, производства

    вычислительной техники и компьютерного бизнеса. Самая

    престижная награда этого общества – медаль «Computer

    Pioneer» – учреждена в 1981 г. Ее цель – признать и представить

    мировому сообществу тех выдающихся лиц, усилиями которых

    создавалась и развивалась сфера компьютерных технологий, при

    условии, что главный их вклад был сделан не менее 15-ти лет

    назад. Среди 55 лауреатов этой почетной награды можно назвать

    таких классиков информатики, как, например, Дж. Атанасов –

    за создание одной из первых электронных вычислительных

    машин, Н. Вирт – за разработку языка «Паскаль», Дж. Маккарти

    и М. Минский – за работы в области искусственного интеллекта,

    Э. Кодд – за создание реляционной модели данных.

    В этом списке (во многом из-за железного занавеса) не было

    советских ученых. В 1996 г., в пятидесятилетний юбилей своего

    образования Общество приложило максимальные усилия, чтобы

    восстановить историческую справедливость, и наградила

    медалями «Computer Pioneer» В.М. Глушкова, С.А. Лебедева

    и А.А. Ляпунова – за заслуги в создании основ вычислительной

    техники и программирования.

  • В заключение отметим, что перечисленная выше «компания»

    была ничуть не слабее соответствующей западной, во многом

    создававшей «Computer Science». Просто нашим «немного»

    не повезло!

    Кроме того, обидно, что становление теории автоматов и теории

    программирования происходило в доинтернетовскую эпоху, что

    практически исключало полученные в этих областях результаты

    из сферы интересов отечественной молодежи, для которой

    Интернет является чуть ли не единственным источником знаний.

    Хотя указанная тенденция еще охватила не весь мир: например,

    библиотека Кембриджского университета выписывает

    55000 журналов (!) и их, наверное, читают («Известия»,

    19.04.2002 г.).

    И последнее. Часто можно слышать мнение, что в инфантилизме

    молодежи надо винить нас, в чем, видимо, есть доля правды.

    Однако в их инфантилизме я сильно сомневаюсь, так как

    большинство из них легко пройдут тест на его отсутствие:

    различат, что в качестве зарплаты им дали, например, 700 рублей,

    а не 700 долларов. Так что инфантилизм, если он у них и есть,

    весьма избирательный.

    Кстати, есть еще тест «покруче»: «Свету ли провалиться иль

    мне чаю не пить?» (Ф.М. Достоевский).

    Хочется верить, что если предыдущие поколения ученых

    в области информатики добились весьма многого, то и нынешняя

    молодежь, которая не менее талантлива, если захочет, может

    добиться еще большего. Стоит только захотеть, ведь не зря

    говорят, что «человек способен сделать все то, что он может,

    а еще и все то, что захочет».

    И вновь наступит время, когда «Академия наук будет казаться

    какой-то недосягаемой для простых смертных вершиной, простое

    пребывание на которой является чем-то невероятным»

    (Н.Я. Матюхин, студент, а в дальнейшем член-корреспондент

    АН СССР). Кстати, Российская Академия наук со времен

    Екатерины I была явлением уникальным, так как ни в одной

    стране мира нельзя было за деньги заниматься только наукой,

    не занимаясь, например, преподаванием. Это привело к крупной

    «утечке умов» из Западной Европы, и в Россию на долгие годы

  • приехали работать Л. Эйлер (похоронен в Александро-Невской

    Лавре Санкт-Петебурга), Д. Бернулли, Х. Гольдбах и многие

    другие крупные ученые.

    В заключение отметим, что цитаты, использованные в настоящей

    работе, заимствованы из книги «Очерки истории информатики

    в России» (редакторы-составители Д.А. Поспелов, Я.И. Фет),

    которая опубликована в 1998 г. в Новосибирске (издательство

    ОИГГМ СО РАН) при финансовой поддержке Российского фонда

    фундаментальны исследований. Кроме того, весьма полезны

    энциклопедический словарь «Информатика» (под редакцией

    Д.А. Поспелова, М.: Педагогика-Пресс, 1994) и формирующийся

    в настоящее время «Виртуальный музей вычислительной

    техники» (www.computer-museum.ru), а также книги: Кронрод

    А.С. «Беседы о программировании». (М.: УРСС, 2001) и

    Частиков А.П. «Архитекторы компьютерного мира» (СПб.: БХВ-

    Петербург, 2002).

    03.07.2002, http://www.computer-museum.ru/histsoft/epoch.htm,

    http://is.ifmo.ru/?i0=belletristic&i1=pre. Статья также опубликована

    в журнале «Информационно-управляющие системы». 2003. № 4,

    с.52-56.

    P.S. Работа «У нас была Великая эпоха!» профессора А. Шалыто

    была представлена мне профессором Наум Н. Aizenber, который

    был моим очень хорошим другом и поддерживал меня в работе. Я

    в контакте с его сыном Игорем. Большое спасибо за присылку

    ссылки на его статью. Я читаю с большим интересом и был очень

    рад видеть имена нескольких друзей и коллег, с которыми я

    работал, в том числе профессора Малюгина, Shmerko, Светланы

    Янушкевич и Елены Зайцевой. Я также был очень рад видеть

    имена нескольких специалистов, с которыми я имел

    удовольствие встретится на некоторых конференциях или в

    Институте проблем управления – Veic, Parkhomeno, Kishenevski,

    Поттосин, Закревский, Lazariev, Vikhovanets. Пожалуйста,

    простите меня, если я не правильно пишу их имена латинскими

    буквами. Я согласен с комментариями профессора Шалыто, что

    молодое поколение просто не понимает или не видит важности

    изучения способа мышления, который привел к важным

    открытиям в этой области. Я также согласен, что западная

    господство над интернетом как-то уводит в тень вклад многих

    ученых и сосредоточивается на работе некоторых других.

    http://www.computer-museum.ru/http://www.computer-museum.ru/histsoft/epoch.htmhttp://is.ifmo.ru/?i0=belletristic&i1=pre

  • Пожалуйста, отправьте мои наилучшие пожелания профессору

    Шалыто. Radomir Stankovic [mailto:[email protected]].

    P.P.S. Более чем через десять лет эта статья была переведена на

    английский язык профессором R. Stankovic и вошла в качестве

    главы в книгу Stankovic R., Astola J., Shalyto A., Strukov A.

    Reprints from the Early Days of Information Sciences. Early Work in

    Switching Theory and Logic Design in USSR. Tampere

    International Center for Signal Processing, Tampere. 2016. 80 p.

    (http://is.ifmo.ru/books/2016/ticsp-report-66.pdf). В «Виртуальном

    компьютерном музее» эта книга была опубликована по адресу:

    http://www.computer-museum.ru/books/ticsp-report-66.pdf.

    Там же была опубликована и статья на эту тему: Shalyto A.,

    Stankovic R., Astola J., Strukov A. Early Work in Switching Theory

    and Logic Design of Gavrilov Sсhool in former Soviet Union / Record

    Reed-Muller workshop. Novi Sad, Serbia, 2017, pp. 93-102,

    https://www.docdroid.net/rGM2kAz/rm2017.pdf. Текст этой статьи

    приведен здесь: http://www.computer-

    museum.ru/english/galglory_en/Gavrilov_school_new.pdf.

    2003

    Новая инициатива в программировании. Движение за

    открытую проектную документацию

    «Простота требует проектирования и

    хорошего вкуса».

    Л. Торвальдс

    «Глубоко ошибается тот, кто думает,

    что изделиями программистов являются

    программы, которые он пишет.

    Программист обязан создавать

    заслуживающие доверия решения и

    представлять их в форме убедительных

    доводов, а текст написанной программы

    является лишь сопроводительным

    материалом, к которому эти

    доказательства применимы».

    Э. Дейкстра

    mailto:[email protected]://is.ifmo.ru/books/2016/ticsp-report-66.pdfhttp://www.computer-museum.ru/books/ticsp-report-66.pdfhttps://www.docdroid.net/rGM2kAz/rm2017.pdfhttp://www.computer-museum.ru/english/galglory_en/Gavrilov_school_new.pdfhttp://www.computer-museum.ru/english/galglory_en/Gavrilov_school_new.pdf

  • «Открытого кода уже мало. Нужна и

    открытая проектная документация.

    Проектирование в инженерной практике

    предполагает разработку и выпуск

    проектной документации»

    PC Week/RE. 2003. № 40

    Недавно я стал свидетелем того, как один выдающийся

    программист (участник двух финалов командных чемпионатов

    мира по программированию, проводимых организацией

    Association for Computing Machinery – АСМ) в течение весьма

    продолжительного времени (15 мин) не мог понять программу

    из шести строк на языке Си, про которую было известно, что она

    решает классическую задачу о Ханойских башнях итеративно,

    рекурсивное решение которой программист знал. После этого

    мы вышли в Интернет и сравнительно быстро нашли

    публикацию, где был весьма внятно описан алгоритм,

    использованный в указанной программе.

    1. Почему исходные текстуы не решают проблему понимания

    программ?

    Данный факт в очередной раз подтвердил мое мнение, что

    «Движение за открытые исходные тексты» (Open Source Software)

    не обеспечивает даже в этом достаточно простом (относительно

    реальных проектов) случае решения проблемы понимания

    программ. К счастью, так думаю не только я один. В частности,

    в [1] отмечается, что «центральный вопрос в практике

    программирования – вопрос о понимании программных

    текстов. Всегда хорошо иметь исходники, но проблема состоит

    в том, что зачастую их недостаточно. Чтобы понять некоторую

    нетривиальную программу, обычно требуется дополнительная

    документация. Эта потребность растет экспоненциально с ростом

    объема кода. Анализ текстов программ, направленный

    на восстановление первоначальных проектных решений,

    принятых разработчиками, и понимание программ являются

    двумя важными ветвями технологии программирования,

    существование которых неразрывно связано с недостаточностью

    исходных текстов для понимания программ. В качестве

    примера попробуйте понять структуру нетривиального

  • компилятора при условии, что Вы не располагаете определением

    того языка, который им компилируется.

    Каждый, кто участвовал в крупном проекте по реконструкции

    ПО, навсегда запомнит то чувство беспомощности

    и потерянности, которое испытываешь, когда впервые видишь

    гору плохо документированных (но не всегда плохо написанных)

    исходных текстов. Доступность исходных текстов не слишком

    помогает, когда отсутствует доступ к ключевым разработчикам.

    Если программа написана на сравнительно низкоуровневом языке

    типа Cи и плохо документирована, то все основные проектные

    решения обычно растворяются в деталях кодирования и требуют

    реконструкции. При этом ценность документации более высокого

    уровня, такой как спецификация интерфейсов и описание

    архитектуры, может превышать ценность самого исходного

    текста.

    Осознание неадекватности исходных текстов для понимания

    программ привело к попыткам объединить код и документацию

    более высокого уровня. Одна из наиболее известных попыток

    решения указанной проблемы была предпринята Д. Кнутом

    в книге «Грамотное программирование» [2].

    Возможно, самой известной запрещенной в истории

    компьютерных наук была книга «Commentary on Unix: With

    Source Code» [3], содержавшая высокоуровневое описание

    исходных текстов UNIX наряду с используемыми алгоритмами.

    Она нелегально копировалась и распространялась более 20 лет

    с момента ее первой публикации в 1977 г.

    Если Вы не принимали участия в работе над проектом, начиная

    с его ранних стадий, то сложность и объем фактически

    «закрывают» от вас исходные тексты, при условии, что

    отсутствует документация высокого уровня. Понимание

    «доисторического» кода в случае отсутствия первоначальных

    разработчиков или адекватной документации, позволяющей

    разобраться с соответствующими архитектурными решениями,

    является, вероятно, одним из труднейших видов программистской

    деятельности».

    И еще. «Существуют ли какие-нибудь достойные свободные

    программы, вид которых не вызывает отвращения? До сих пор,

  • несмотря на обилие свободного кода, нормальных программ

    среди него ужасно мало» [4].

    О том, к чему это приводит, хорошо сказал великий русский

    математик, академик Л.С. Понтрягин: «Только хорошо

    выполненная работа дает радость! Выполненная небрежно, она

    вызывает отвращение и постепенно вырабатывает

    в человеке аморальное отношение к труду» [5].

    2. Почему программы не проектируются?

    Итак, без исходных текстов плохо, но и с ними тоже н