Рассказываем про программирующую программу Ершова, которая оказала сильное влияние на школу информатики.
Работу над первым в мире самодостаточным транслятором ПП-1 Алексея Ляпунова продолжил его ученик Андрей Петрович Ершов.
В 1958 году Ершов написал монографию «Программирующая программа для быстродействующей электронной счётной машины». Она повлияла не только на отечественную, но и на западную школу информатики.
Будущий американский мэтр системного программирования Дональд Кнут изучал монографию Ершова на русском языке, когда сам был студентом.
Вскоре монография была издана за рубежом на разных языках. Её высоко оценили Джон Бэкус, Грейс Хоппер, Джон Маккарти и другие пионеры в области теоретического программирования. Фактически это был первый академический труд по автоматизации процесса создания программ и их переноса на разные архитектуры.
Монография описывала транслятор для БЭСМ и «Стрелы», в котором были реализованы новаторские подходы.
Ершов разработал принцип адресной кодировки объектов и описал «способ бесперебойного поиска информации по ключу с помощью функции расстановки». Сегодня мы чаще называем её функцией хеширования, применяя, в частности, для индексации массивов данных.
Андрей Петрович исследовал статистические свойства таких функций, а затем использовал их для оптимизации кода путём сокращения числа команд и экономии памяти. Позже под руководством Ершова были созданы целые системы оптимизации «АЛЬФА» и «БЕТА», предопределившие методологию оптимизирующей трансляции.