Главная arrow Персоны arrow Андрей Ершов
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Андрей Ершов Печать

Андрей Ершов
Творческая деятельность академика Андрея Петровича Ершова неразрывно связана со становлением системного и теоретического программирования, развитием этих направлений, формированием их методологической базы. Ему принадлежат фундаментальные результаты в теории операторных схем, общей теории экономии памяти, в теории схем программ с распределенной памятью, а также начальная формулировка теории схем параллельных программ, развитая впоследствии его учениками. Андрей Петрович Ершов

А. П. Ершов — автор одной из первых в мире программирующих программ, той концептуальной основы, на которой строятся современные системы программирования. Им создан Входной язык — один из первых алгоритмических языков высокого уровня. Книга А. П. Ершова Программирующая программа для быстродействующей электронной счетной машины” — первая в мировой практике монография по автоматизации программирования.

Руководством А. П. Ершова созданы система АЛЬФА, решившая проблему разработки высококачественных программ средствами автоматизации программирования, а также первая в СССР система разделения времени ПСТ, архитектурные и программные решения которой широко использо-ались при создании центров коллективного пользования.

В середине 70-х годов А. П. Ершов начинает не всеми понятую тогда работу по введению школьников в мир вычислительной техники, по научному и экспериментальному обоснованию идей информатизации образования. Будучи признанным лидером в этой области, он много сделал для становления нового общеобразовательного учебного предмета “Основы информатики и вычислительной техники”.

Андрей Петрович Ершов родился в Москве 19 апреля 1931 года. Учась в школе, он, конечно, не мечтал о профессии программиста, т. к. в те годы такой профессии попросту не существовало.

Он увлекался физикой и математикой, но физика была ближе, поэтому noJ еле окончания школы решил поступить на физико-технический факульте! МГУ.

Из воспоминаний А. П. Ершова: “Впрочем, выбор этот в значительной степени был предопределен не глубоким интересом к физике, а тем, что туда вступительные экзамены были в три тура, и мне очень хотелось все их пройти. Кстати говоря, на письменной работе по математике при поступле-1 нии на физтех я впервые встретил Владимира Михайловича Курочкина, одного из наших ветеранов в области программирования. Так что, самое первое знакомство с этой наукой, по крайней мере, в лице ее представителя, щ меня состоялось тогда, в 1949 году. Но в тот раз В. М. Курочкин о программировании ничего не говорил, а просто забрал у меня мою письменную pa-i боту. Я поступил на физтех, но дальше первого курса мне учиться не пришлось. Примерно четверть курса отчислялась по сход-НЬ1М мотивам, в число таких горемык попал и я.

Я был комсоргом курса, чувствовал себя уже неотъемлемой частицей этого нового интересного коллектива. Но делать было нечего. Надо сказать, что люди, которые должны были эту нелегкую процедуру осуществить, старались относиться к отчисляемым студентам с максимальным вниманием, предпринимали активные усилия для того, чтобы направить их на близкие по профилю факультеты. Так в июне 1950 года я подался на механико-математический факультет МГУ.

Пришел я туда, стал учиться математике. На нас, девятерых ребят, перешедших с физтеха, смотрели с интересом, а народ на факультете подобрался сильный. Через год, уже на втором курсе, на майские праздники произошла вот какая вещь. Мы уже знали, что у нас в МГУ только что появилась кафедра вычислительной математики, весьма загадочная, потому что никто не знал, что это такое. Известно было только, что ею заведует академик Соболев, человек необычный, который стал академиком чуть ли не в тридцать лет, а сейчас работает в каком-то тайном месте — на самом деле Сергей Львович Соболев служил в той организации, которая потом стала называться Институтом атомной энергии. Кое-кто из ребят постарше уже побывал на новой кафедре, мы же пребывали в полном неведении”.

Студенческий приятель Андрея Ершова Евгений Жоголев, который уже записался на новую кафедру, ввел его в курс дела, рассказал, чем занимается новая кафедра, и в частности — об ЭВМ.

Андрей Петрович продолжает свои воспоминания: “…он мне рассказал поразительную вещь. Оказывается, существуют какие-то электронно-вычислительные машины, они очень интересно устроены, и у них есть ртутная память. Я был поражен — чта такое ртутная память? Такая стеклянная трубка, наполненная ртутью, а по 15окам заткнута пьезокристаллами. Если тебе надо запомнить какое-либо число, то оно изображается как в азбуке Морзе: импульс, нет импульса и т. д., целая цепочка электрических импульсов. Так вот, эти импульсы по проводу приходят в пьезокристалл, он от этих импульсов сотрясается, и получается звуковая волна, которая бежит вдоль ртути по трубке, добегает до следующего пьезокристалла, сотрясает его, в результате получается электрический ток, и это же число в виде импульсов воспроизводится на другом конце трубки, потом по проводу бежит назад, снова на трубку — выходит, что число беспрерывно бегает в этой ртутной памяти. Не знаю почему, но этот рассказ произвел на меня очень сильное впечатление, резко повысив мой интерес к электронно-вычислительным машинам, и я записался на кафедру вычислительной математики.

Год я там занимался чем попало, но в начале четвертого курса у нас на кафедре появился молодой профессор Алексей Андреевич Ляпунов, который до этого преподавал в какой-то военной академии. То, что он нам стал читать, были первые в Советском Союзе основы программирования для электронно-вычислительных машин. Причем первую половину курса он читал довольно реферативно: в сборнике переводов “Новости ракетной техники”; была большая переводная статья, ее мы и изучали. Группа европейских учен ных, которые побывали в США, познакомилась с американскими вычисли-^ тельными машинами и некоторые сведения о них опубликовала. Те, кто занимался в то время становлением ракетной техники, по счастью, смотре, на дело очень широко, поэтому они подхватили сведения и по вычисли тельной технике и включили в этот сборник.

А тем временем у нас в стране развивались события, о которых мы тог, ничего не знали: в Киеве Сергей Алексеевич Лебедев доделывал свою зн менитую первую электронно-вычислительную машину, которая потом стал; называться МЭСМ — Малая электронно-счетная машина. И вот получилос так, что между первым и вторым семестрами Алексей Андреевич Ляпуноз съездил в Киев в командировку, поработал на этой машине, изучил ее, и него возникло сразу очень много идей, касающихся того, как надо програ: мировать. Воодушевленный ими, он во втором семестре стал нам все рассказывать. Это были еще очень непричесанные идеи, но то, что они р ждались прямо на глазах, всех очень заразило, и наша группа в полном со ставе записалась к Алексею Андреевичу в ученики. Этот коллектив в дальнейшем сыграл довольно большую роль в развитии вычислительной техники. А для меня очень важно, что я почувствовал себя приобщенным к новому делу с самого начала, в этот особый период становления.

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

В 1953 году, будучи студентом, А. П. Ершов поступил на работу в Инсти точной механики и вычислительной техники (ИТМ и ВТ). В 1954 году о закончил МГУ по специальности “Программирование” (это был первый в: пуск отечественных программистов).

В 1955 году был создан Вычислительный центр Академии наук СССР, е директором стал академик А. А. Дородницын. Часть сотрудников-матема’ тиков, включая Андрея Ершова, была переведена из ИТМ и ВТ в образованный Вычислительный центр.

Еще работая в стенах ИТМ и ВТ, группа А. П. Ершова создала один из пер вых трансляторов (программирующую программу) — ПП БЭСМ для быс родействующей электронной счетной машины. Входной язык ПП БЭС содержал арифметические и логические операторы, несколько напоминающие современные операторы выбора. Наиболее важными атрибутами ПП БЭСМ были операторы цикла и индексные переменные. Текст программы а входном языке ПП БЭСМ не разделялся на схему и спецификацию опе-аторов, а представлял собой бесформатный линейный текст, в котором операторы отделялись точкой с запятой.

В ПП БЭСМ А. П. Ершов выдвинул в качестве общего правила принцип “адресной кодировки” различных объектов, с которыми имеют дело при трансляции. Такая кодировка существенно сокращает время поиска информации и соответствует структуре оперативной памяти с произвольным доступом. В 1957 году А. П. Ершовым, независимо от американских ученых, определена функция расстановки как способ бесперебойного поиска информации по ключу и исследованы ее статистические свойства и применение для алгоритма экономии команд, работающих за линейное время. На основе работ по ПП БЭСМ в 1958 году им была опубликована монография “Программирующая программа для быстродействующей электронной счетной машины”, которая является первой в мировой литературе монографией по автоматизации программирования. Она сразу же была издана за рубежом.

В ноябре 1958 года А. П. Ершов принял участие в конференции по механизации процессов мышления, которая состоялась в НФЛ в Теддингтоне (Англия). Там он встретился с Джоном Бэкусом, Грейс Хоппер и Джоном Маккарти. Встреча с Джоном Маккарти в дальнейшем переросла в дружбу и сотрудничество. (В 1965 году Маккарти впервые посетил Ершова в Новосибирске, а тремя годами позже Маккарти провел там два месяца, прочитав курс лекций студентам университета.)

В 1958 году академик С. Л. Соболев, один из создателей Сибирского отделения АН СССР, привлекает Ершова к работе по организации научного центра. Полностью в СО АН СССР А. П. Ершов переходит в 1960 году. Здесь, в Институте математики СО АН СССР, он формирует коллектив программистов и осуществляет научное руководство работами этого коллектива. Работы коллектива по языкам и методам трансляции заложили фундамент дальнейшего развития этого направления.

Под руководством Андрея Петровича Ершова были созданы такие извест ные оптимизирующие системы программирования, как АЛЬФА, АЛЬФА-6, БЕТА, которые во многом определили современную методологию оптими зирующей трансляции.

Разработка системы АЛЬФА началась с создания языка — это было характерно для традиций программирующих программ. Данный язык отталкивался от первоначальной версии ALGOL 60 — ALGOL 58. Группа, руководимая Ершовым, вела разработку параллельно с международной группой, создающей ALGOL 60. Во многом работы этих групп оказались совпадающими, поэтому после опубликования описания ALGOL 60 новый, созданный группой Ершова, язык был сформулирован как расширение ALGOL 60. Этот Язык, носивший предварительные названия “Входной”, “Сибирский”, окончательно утвердился под названием АЛЬФА-язык.

Как пишет И. В. Поттосин, “в АЛЬФА-языке впервые введено понятие многомерных значений и определены операции над ними, в том числе операции конструирования. Все это вошло в структуру таких языков, как PL/lj ALGOL 68, ADA. Впервые в языке были введены и такие естественные дл| современных языков концепции, как разнообразие циклов, задание началы ных значений выражениями. Интересными, но не повторенными по суще ству свойствами языка были перечисления и верхние (временные) индексьн В своих метасредствах язык впервые выходил за пределы контекстно свободных грамматик.

Система АЛЬФА была первой в мировой практике оптимизирующей систе| мой программирования для языков, сложнее, чем FORTRAN. Существовавший в это же время английский проект (Хоукинс и Хакстейбл) для ALGOL 60, аналогичный АЛЬФА по функциональным возможностям, так и не был доведен до конца. Об этом важно сказать потому, что сама возмож ность существования трансляторов для языков, сложнее FORTRAN, с при емлемой эффективностью объектных программ в то время многими оспари валась. Система АЛЬФА стала конструктивным доказательством такой возможности, и это существенно, ибо открывало границы созданию новых, семантически более богатых языков. Проект системы был опубликован Ершовым в 1961 году. Монография по системе вышла в свет в 1967 году”.

Дальнейшие работы А. П. Ершова по оптимизирующей трансляции привели к появлению широко известной системы АЛЬФА-6. Повторяя во многом систему АЛЬФА, система АЛЬФА-6 обладала более компактной схемой трансляции, более четко был выделен в схеме трансляции внутренний языя представления программы как основа для алгоритмов оптимизирующий преобразований.

В 1969 году А. П. Ершов становится профессором Новосибирского университета (кандидатскую диссертацию он подготовил еще в 1958 году, но в связи с настороженным отношением математиков к новой науке — программи-’ рованию, защитил ее только в 1962 году. Докторскую диссертацию по методам построения трансляторов он защитил в 1968 году).

В 1971 году А. П. Ершовым была опубликована статья “Универсальный программирующий процессор”, которая положила начало работе по проекту БЕТА. Исследования по проекту БЕТА представляли собой многолетнюю (окончательная публикация появилась в 1982 году) методологическую Ш экспериментальную работу, связанную с осознанием фундаментальных основ трансляции и языков программирования.

“Одной из центральных концепций схемы трансляции БЕТА, — как пишет И. В. Поттосин, — является концепция внутреннего языка. Исследования по внутреннему языку в проекте БЕТА составили заметную часть общеми-1 ровых исследований, которые ввели понятие внутреннего языка, внутрен-j него представления программы как фундаментальное для методологии по-: строения большого числа различных языковых процессоров — трансляторов анализаторов свойств, систем преобразований программ и др. В системе БЕТА внутренний язык выступает в трех качествах — как семантический базис входных языков, как основа для оптимизирующих преобразований на его уровне, как исходное представление для генерации объектного кода на различных ЭВМ”.

В 50—70-е годы А. П. Ершов, наряду с решением проблем автоматизации программирования, много внимания уделяет в своих работах вопросам теоретического программирования (первая статья об операторных алгоритмах была опубликована еще в 1958 году). Его работы 1967—1973 годов оказали большое влияние на развитие теоретического программирования. В них был сформулирован ряд проблем теории схем программ, сопоставлены различные направления и модели этой теории, выработана общая система понятий и связаны воедино разнообразные результаты и их применения, иначе говоря, создан фундамент теории схем программ как цельного направления теоретического программирования.

Если теория схем программ имела дело с таким исследуемым и моделируемым объектом, как программа, то в дальнейшей деятельности по теории программирования А. П. Ершов делает следующий шаг, заключающийся в том, что предметом исследований служит процесс работы над программой. Начало этому новому направлению было положено А. П. Ершовым в опубликованной в 1977 году статье “О сущности трансляции”. В этой и последующих статьях он сформулировал понятие смешанного вычисления — как фундаментальный принцип системного программирования, определяющий в тех или иных аспектах функционирование процессоров обработки программ.

В 80-х годах А. П. Ершов публикует ряд работ, посвященных проблемам вычислимости, которые также пр’имыкают к теоретическому программированию. В фундаментальной работе 1982 года “Вычислимость в произвольных областях и базисах” проводится глубокий анализ большого числа определений вычислимости, сложившихся в указанных областях, их сопоставление и оценка вклада в общую теорию.

Одной из важных заслуг Ершова перед отечественной и мировой компьютерной наукой является то, что он умел оценить текущее состояние этой науки и наметить те реальные точки роста и перспективы исследований, которые будут определять «г развитие. Так, во второй половине 60-х годов °н одним из первых в стране осознал те новые возможности общения с ^ВМ, которые создают системы разделения времени. В 1966 году он органист работы по автоматическим информационным станциям (проект АИСТ). Фоект АИСТ, создателем и руководителем которого был А. П. Ершов, объ-ЗДинял широкий круг исследований по архитектуре вычислительных систем. в Рамках этого проекта была создана первая в стране развитая система раз-Деления времени АИСТ-0. Реализованная как многомашинный комплекс из °течественных ЭВМ, эта система была во многом пионерской и внесла большой вклад в развитие отечественных работ по архитектуре ЭВМ и опев рационным системам, которые, к сожалению, были в дальнейшем свернуты из-за ориентации на копирование зарубежных разработок.

С конца 70-х годов и до конца своей жизни А. П. Ершов большое вниманий уделял проблемам обучения программированию. Так, в статье 1976 года по! названием “Откуда берутся люди, способные создавать надежное програм мное обеспечение” он изложил план подготовки системных программисто| в вузах. Этот план был результатом его многолетней преподавательской дея<| тельности на механико-математическом факультете Новосибирского университета, где он читал общие курсы по программированию и руководи организацией обучения специалистов по системному и теоретическому программированию.

В дальнейшей деятельности интерес А. П. Ершова привлекло обучение ин4 форматике и программированию в школе. Поняв принципиальную важность информатики для страны, А. П. Ершов отдал этому делу последний десяток лет и большую долю своей энергии. А. П. Ершов был одним из создателе^ так называемой школьной информатики, признанным ее лидером. В напи^ санной вместе с Г. А. Звенигородским и Ю. А. Первиным в 1979 году работе “Школьная информатика (концепции, состояние, перспективы)” он опреде* лил развитие этого направления вплоть до наших дней. А. П. Ершов бьЦ одним из авторов и редактором первого школьного курса информатики, а также методического пособия по этому курсу. В 1988 году, незадолго до его смерти, появился новый учебник по информатике, одним из авторов и редактором которого он являлся. Он организовал телевизионный курс по этому предмету, руководил созданием школьных систем программирования И школьного программного обеспечения вообще, вел большую организацией! ную работу.

Надо отметить, что научно-организационной работе он уделял много вни^ мания. А. П. Ершов был организатором многих Международных и Всесоюзных конференций, членом редколлегий ряда ведущих зарубежных и отечественных журналов, членом Международной организации по обработке информации (IFIP). В последние годы он являлся главным редактором журнала “Микропроцессорные средства и системы”. 8 декабря 1988 года после тяжелой и продолжительной болезни Андрей Петрович Ершов скончался.

Его заслуги в компьютерном мире значительны, он внес определяющий вклад в становление и развитие программирования как науки. Академия А. П. Ершов был иностранным членом Ассоциации вычислительной технИ’ ки США, почетным членом Британского общества по вычислительной теи нике, он удостоен награды “Серебряный сердечник” Международной рации по обработке информации.