Рубрика «Календарь истории», выходящая последние два года на страницах журнала и в более развернутом виде пополняющая собрание «Кунсткамеры» на «Мир ПК-диске», получила добрые отклики наших читателей. Мы решили несколько расширить рамки хронологического изложения событий мира компьютеров и представить вашему вниманию портреты великих ученых и инженеров, сумевших за ничтожно короткий по меркам истории срок произвести настоящий переворот в жизни всего человечества.
К сожалению, отечественная компьютерная литература, посвященная этой теме, не балует нас своим изобилием. Стоит упомянуть, пожалуй, лишь две яркие книги, которые можно рекомендовать для быстрого экспресс-знакомства с историческими вехами: Ю. Л. Полунова [1] и А. П. Частикова [2]. Мы же сделаем еще один шаг в глубь истории и расскажем о том, что осталось за кадром.
А. П. Ершов
Новую серию «Портреты великих» открывают страницы, посвященные нашему замечательному соотечественнику Андрею Петровичу Ершову. В 70—80-е годы прошлого столетия имя академика Ершова гремело по всей стране и за ее пределами. Он стал первым из программистов не только в СССР, но и в мире, удостоившимся чести быть избранным в национальную Академию наук. Без его работ просто немыслимо современное программирование. Что же касается поднятия престижа профессии программиста, перелома общественного сознания в восприятии нового, колоссального по своему потенциалу рынка интеллектуального труда, то в один ряд с ним можно поставить разве что только Эдсгера Дейкстру. При этом Ершов был первым, кто ратовал за отношение к программам как к важнейшим продуктам интеллектуальной деятельности, кто предвосхищал неизбежный переход от кустарных работ к промышленным методам производства программного обеспечения и кто горячо отстаивал взгляд на программирование как на вторую грамотность.
Мысль написать статью, посвященную памяти Ершова, пришла ко мне около десяти лет назад, когда во время очередного визита в новосибирский Академгородок довелось обсудить этот вопрос с ближайшим соратником Ершова — Игорем Васильевичем Поттосиным, которого я считаю своим учителем. Он подарил мне редкую книгу с избранными работами А. П. Ершова [3], познакомил с богатейшей Мемориальной библиотекой и бережно сохраненным архивом ученого (свыше 550 папок). Никогда раньше я не встречал столь продуманного и педантичного отношения к своим архивам, как у Ершова. Он хранил буквально все: рабочие тетради и черновики, дневники и статьи, письма и открытки, официальные бумаги и телеграммы, даже театральные билеты и программки спектаклей ушедшей эпохи.
Последующие встречи в Москве с Поттосиным только укрепили этот замысел. К сожалению, в декабре 2001 г. Игорь Васильевич ушел из жизни, и вслед за этим рухнули планы подготовки его воспоминаний об А. П. Ершове. И все же пусть и в гораздо более скромном виде некоторые штрихи к портрету великого подвижника сейчас увидят свет.
Воплотить замысел удалось благодаря кропотливой работе новосибирских хранителей наследия Ершова — Н. А. Черемных, А. Г. Марчука, В. Э. Филиппова и др. — в Интернете стал доступен электронный архив академика (http://ershov.iis.nsk.su). Немалую роль в его создании сыграла поддержка со стороны Microsoft Research при активном участии одного из выходцев питерской школы С. С. Лаврова — И. Р. Агамирзяна.
Показательно, что здесь наши соотечественники оказались впереди многих своих зарубежных коллег. Пожалуй, ни один другой архив, включая английские архивы Алана Тьюринга, не может похвастать такой продуманностью и детализацией.
Детство, отрочество, юность
«Происходил он из семьи потомственных интеллигентов, — вспоминает И. В. Поттосин. — Отец был инженером-химиком, мать — библиотекарем. В его роду, типичном роду русской демократической интеллигенции, были военный врач, профессор-химик, академик — специалист по истории Византии, революционеры и партийные работники первых лет советской власти».
В 1937 г. семья Ершовых из Москвы переехала в г. Рубежное (тогда — Ворошиловградская обл., ныне — Украина, Луганская обл.). Спустя два года родился Сергей — брат Андрея. С августа 1942 г. по февраль 1943 г. Рубежное было оккупировано немецкими войсками. Из автобиографии А. П. Ершова (1959): «В мае 1943 г. наша семья переехала в г. Кемерово, куда ранее была эвакуирована часть Рубежанского химического комбината, на котором работал мой отец». В 1949 г. Ершов заканчивает с золотой медалью 37-ю среднюю школу г. Кемерово и поступает на физико-технический факультет МГУ.
«Мое поступление на физтех было выражением моего преобладающего интереса к физике, — вспоминал Ершов. — На меня тогда сильное впечатление произвел отчет Смита по проекту «Манхэттэн» и популярная книга по физике М. П. Бронштейна «Атомы, электроны, ядра». Уже тогда меня интересовали, даже волновали, тайны строения вещества».
Андрей Ершов год проучился на физтехе МГУ, слушал лекции Петра Леонидовича Капицы, но потом в июне 1950 г. вынужденно перешел на механико-математический факультет, где при выборе между механикой и вычислительной математикой отдал предпочтение последней (соответствующую кафедру в те годы возглавлял С. Л. Соболев).
Историю своего научного «крещения» А. П. Ершов отразил в пометке на поздравительной телеграмме к 50-летию, которую он получил от Е. А. Жоголева: «Женя Жоголев, бескорыстнейший человек, у которого количество идей в молодости всегда опережало способы их выражения. Он мой крестный отец в программировании. Когда мы с ним в 1951 г. бегали эстафету от Киевского вокзала к строящемуся зданию МГУ, мы шли с Воробьевых гор до центра пешком и он мне восторженно рассказывал об устройстве памяти в ЭВМ на ртутных линиях задержки. Эти чудеса меня окончательно склонили к мысли записаться на кафедру вычислительной математики».
Ершов вспоминает: «Решающее влияние на выбор занятий по программированию... оказали блестящие и содержательные лекции Алексея Андреевича Ляпунова, который стал моим учителем». Интересно, что свой первый курс, открывший школу подготовки первых математиков-программистов СССР, Ляпунов начинал с разбора переводной статьи из сборника «Новости ракетной техники», в которой группа европейских ученых рассказывала о знакомстве с американскими компьютерами. Между двумя первыми семестрами Ляпунов съездил в Киев, где наш знаменитый конструктор С. А. Лебедев завершал работы над МЭСМ — Малой электронно-счетной машиной, первым подобным компьютером в континентальной Европе.
«С внешней же стороны при знакомстве с Алексеем Андреевичем сразу было видно, что он — чудак, — вспоминал один из его учеников, В. В. Брыскин. — В том высоком понимании этого слова, когда говорится, что такие люди украшают мир. Неизменная борода, принципиально не снимаемые летом сапоги...» Внешне Ершов мало напоминал Ляпунова, но впитал в себя вдохновенность и богатейшее внутреннее обаяние своего учителя, за которым был готов пойти хоть на край земли.
Научная деятельность
В 1952 г. Ершов женился на однокурснице, Нине Михайловне Степановой. Спустя год у него родился сын Василий, а в 1959 г. — дочь Анна. Нелегко было молодой семье бросить благополучную московскую жизнь и отправиться на освоение сибирской целины. И все же летом 1957 г. Ершов в ответ на предложение академика С. Л. Соболева решился перейти в Сибирское отделение АН СССР, где приступил к работе по организации отдела программирования в Институте математики. С 1961 г. он со своей группой окончательно перебрался в Новосибирск, где уже трудился Ляпунов. Основу деятельности составила разработка оптимизирующего транслятора с диалекта Алгола-60 (проект АЛЬФА, Входной язык, Сибирский язык).
В. В. Брыскин пишет: «Разработкой первых трансляторов в нашем ВЦ занимался коллектив исследователей, организаторами и «душой» которого были три замечательных человека: А. П. Ершов, И. В. Поттосин и Г. И. Кожухин. Дружба любых людей, по моим представлениям, относится к числу их самых высших достоинств. А в данном случае эти достоинства дополнялись очевидной научной и практической результативностью титанической работы «трех мушкетеров».
Несмотря на каторжную работу от зари до зари, дела шли туго, однако к 1964 г. был получен не только важный теоретический, но и впечатляющий практический результат. А. П. Ершова и советских программистов признали.
Если в режиме телеграфной строки перечислять научные достижения Ершова, то они будут выглядеть так: он ввел понятие оператора цикла в первой программирующей программе (трансляторе) для БЭСМ (1956), предложил функцию расстановки-хеширования (1958), ввел понятие операторного алгоритма (1960), руководил разработкой оптимизирующего транслятора с Алгола-60 (1959—1964), описал процесс трансляции с помощью понятия смешанных вычислений (1977).
Начиная с 1958 г. Ершов по линии АН СССР все чаще отправляется в зарубежные поездки (Европа, Америка, Япония, Австралия), где представляет миру поразительные научные достижения советской школы программирования. Судьба свела его с такими титанами, как Д. Кнут, Н. Вирт, Дж. Маккарти, М. Мински, Дж. Форсайт. Последний, будучи профессором Стэнфордского университета (США), долго и настойчиво «пробивал» поездку Ершова с чтением курса лекций. Лишь в конце 1970 г. после пяти лет бесконечных срывов и согласований Ершову удалось на два месяца съездить в Америку в качестве приглашенного профессора Стэнфорда.
Непосредственным руководителем Ершова был Гурий Иванович Марчук, председатель СО АН СССР, будущий президент АН СССР. Отношения с ним сложились у Ершова весьма непростые. Да и за пределами Новосибирска не все складывалось так уж безоблачно: Ершов тяжело переживал разрыв между командами В. С. Бурцева и Б. А. Бабаяна, произошедший в процессе создания многопроцессорного «Эльбруса». По драматизму эта история напоминала раскол МХАТа. Стоит полистать дневник Ершова, чтобы понять, какой груз организатора он взвалил на себя в то тяжелое время.
В середине 1970-х годов, уже будучи ученым с мировым именем, имеющим непререкаемый авторитет в области теоретического и системного программирования, Ершов решается на очень смелый поступок, который перевернул его жизнь: «В 1975 г. я сам, по собственной воле и разумению, ушел из отдела программирования, оставив его Игорю Васильевичу Поттосину... Поначалу он воспринял это почти как трагедию, хотя на самом деле решение мое было лишь драмой, да и то для меня одного».
Ершов создал отдел экспериментальной информатики и посвятил последующие годы разработке теории смешанных вычислений (добившись высочайшей награды Академии наук — премии им. А. Н. Крылова), лингвистическому взаимодействию человека и машины (Машинный фонд русского языка, деловая проза), а также компьютерной революции в школьном образовании.
Одну из своих самых известных статей Ершов назвал «Программирование — вторая грамотность» (1981). Жаль, что до сих пор многие педагоги излишне поверхностно воспринимают этот лозунг. Ершов и его дело попали под шквальный огонь критики. Но удар он держал отлично и блестяще парировал болезненные уколы.
О профессии программиста
Не одной наукой славен А. П. Ершов, физик в душе, математик по образованию и программист по призванию. Он все сделал для того, чтобы профессия «программист» получила мировое признание, и это стоит многих других его достижений. Он писал: «Общество не слишком много знает о ней; до недавнего времени она проходила по разряду экзотических. А между тем эта профессия воплощает в себе едва ли не самые ценные свойства человеческого разума... О профессии программиста можно сказать очень много интересного. Добавлю лишь, что, на мой взгляд, наиболее важная и специфическая сторона программирования — это воссоздание в неодушевленной машине своего собственного интеллекта, сотворение разума в самом непосредственном смысле. Каждому программисту знакомо ощущение чуда: подчиняясь его воле, машина начинает вести себя разумно. Это ли не триумф Человека — властелина мира!»
В моем представлении А. П. Ершову ближе всего подходит образ Дон Кихота Ламанчского. Но не в упрощенном бытовом восприятии как чудака, борющегося с ветряными мельницами компьютерного образования, а как благородного странствующего рыцаря, который с гордостью мог сказать: «Я вступался за униженных, выпрямлял кривду, карал дерзость, побеждал великанов и попирал чудовищ».
Последние рыцари уходят. И заменить их уже некем...
Литература
- Полунов Ю. Л. От абака до компьютера: судьбы людей и машин. М.: Русская Редакция, 2004.
- Частиков А. П. Архитекторы компьютерного мира. СПб.: БХВ - Петербург, 2002.
- Ершов А. П. Избранные труды. Новосибирск, 1994.
Андрей Петрович ЕРШОВ
Родился 19 апреля 1931 г. (Москва)
Умер 8 декабря 1988 г. (Москва)
1954 г. — закончил механико-математический факультет МГУ
1962 г. — защитил кандидатскую диссертацию, посвященную понятию операторного алгорифма (научный руководитель А. А. Ляпунов)
1965 г. — член Ассоциации ACM (Association for Computing Machinery)
1968 г. — защитил докторскую диссертацию по методам построения трансляторов
1970 г. — член-корреспондент АН СССР
1974 г. — почетный член Британского компьютерного общества (British Computer Society)
1980 г. — награжден Международной федерацией IFIP «Серебряным сердечником» (Silver Core)
1983 г. — лауреат премии им. А. Н. Крылова, главной премии АН СССР за фундаментальные работы по прикладной математике (теория смешанных вычислений)
1984 г. — академик, действительный член АН СССР
Из беседы с А. П. Ершовым для журнала «Смена» (1985)
— Вы полагаете, что все скоро станут программистами?
— Из того, что все умеют писать, не следует, что все стали писателями; при этом, однако, никто не сомневается в пользе всеобщей грамотности.
Из поздравлений с 50-летием (апрель 1981 г.)
От киевских программистов (В. М. Глушков и др.): «Ершов подарил миру такие понятия, без которых просто нельзя программировать. Достаточно вскользь упомянуть массив, относительный адрес и распределение памяти...»
От ленинградских программистов (С. С. Лавров и др.): «Не было бы этих... лет, и мы, может быть, никогда бы не узнали, что такое функция расстановки, чем помогает раскраска графов при экономии памяти, как смешивать стратегии в программировании, какие неисчерпаемые возможности кроются в греческом алфавите от альфы до омеги, какие захватывающие истории разворачиваются в операторных схемах и даже что все мы говорим прозой — занимаемся смешанными вычислениями».