Найти тему

Сегодня в России день программиста. В нашем канале таких спецов больше всего, поэтому обойти стороной этот праздник мы не могли. Сегодня рассказываем про одного из первых программистов нашей страны и отца отечественной информатики по совместительству.


Когда Андрей Ершов поступал в 1949 году на физтех МГУ, он планировал изучать ядерную физику и исследовать законы Вселенной. Но на первом курсе в универе выяснили, что детство студента прошло в Рубежном — городе, который в войну был оккупирован гитлеровской Германией. Физика считалась наукой сверхважной и секретной, а потому путь в нее для ученого закрылся.

Тогда Ершов перешел на еще не успевшую сформироваться кафедру программирования, где в то время обслуживали вычислительную технику и практически не писали код. Но повезло: на кафедру пришел профессор Ляпунов с курсом «Принципы программирования». До этого устройство советстких ЭВМ было засекречено и писать для них могли только совсем уж избранные.

Окончив МГУ в 1954 году, Ершов поступил в аспирантуру Математического института им. В. А. Стеклова АН СССР, где под руководством академика Дородницына начал изучать теорию вычислительных машин. Тогда-то он и познакомился с БЭСМ.

Аспиранту поставили задачу создать «программирующую программу», которая упростила бы общение человека и БЭСМ. Ершов решил ее блестяще, объединив схему и спецификации операторов в ПП для БЭСМ.

Он ввел оператор цикла, что значительно упростило написание программ, применил табличный подход к синтаксическому анализу в ПП для компьютера «Стрела-3», что сделало процесс анализа кода более эффективным. Еще Ершов разработал новый метод расстановки арифметических операций, что сделало программы экономичнее.

Все это объединилось в монографии «Программирующая программа для электронной вычислительной машины БЭСМ». Она оказала огромное влияние на развитие автоматизации программирования, а американский информатик Дональд Кнут, ставший позже другом Ершова, считает ее одной из самых влиятельных книг в своей жизни.

* * *

Постепенно Ершов превратился в одного из «связных» между программистами СССР и запада. Путь к мировой известности был непрост: советские разработки держались под секретом, а интерес к ним был близок к пику из-за успехов СССР в освоении космоса.

По итогу ученый стал одним из ключевых специалистов, распространявших по миру знания о советских разработках, а в 1959 году стал секретарем комиссии по международным свявям ВЦ АН СССР. Это открыло еще больше возможностей и связей: Ершов познакомился с большим количеством людей и изучил Algol.

Возглавив отдел теории алгоритмов и программирования Института математики в Академгородке Новосибирска Ершов создает язык программирования Альфа, похожий на Algol. Этот язык позволил реализовать многомерные значения и операции с ними, в том числе конструирование. На нем разработали циклы и возможность задавать начальные значения выражениям.

Чтобы запускать код на Альфе, ЭВМ М-20 (основному компьютеру СССР на тот момент) был нужен транслятор. Его создание Ершов с командой описали в книгах «Рождение α-транслятора», «Детство α-транслятора» и «Отрочество α-транслятора».

Получился первый в мире оптимизирующий транслятором с языков семейства Algol. В нем реализовались прорывные по тем временам возможности: многопроходная система трансляции, алгоритмы оптимизации и другие методы экономии памяти.

Успех «Альфы» побудил Ершова к созданию улучшенной версии «Альфа-6». А потом родилась концепция «Беты», о которой мы расскажем отдельным постом.

Этот текст (и все остальные подобные) мы делаем не только из любви к нашей истории, но и чтобы напомнить нашим инженерам: у вас есть огромный и вдохновляющий исторический фундамент. Не забывайте о нем и продолжайте делать удивительные вещи. А когда придет время, мы про них обязательно напишем.
Сегодня в России день программиста. В нашем канале таких спецов больше всего, поэтому обойти стороной этот праздник мы не могли.
3 минуты