Отзыв об учебном пособии
Андрей Петрович Ершов — ученый и человек

Отзыв об учебном пособии

[1] «Программирование»

Э. З. Любимского[2], В. В. Мартынюка [3], Н. П. Трифонова [4] М., «Наука», 1980, 604 с.

Московский государственный университет является наиболее авторитетным, в равной степени, создателем и хранителем форм и традиций преподавания многих новых учебно-научных дисциплин, отражающих и реализующих поступательное движение науки. Это в полной мере относится и к преподаванию программирования и других основ информатики. Курс принципов программирования, прочитанный профессором А. А. Ляпуновым в 1952/53 учебном году, заложил основы операторного метода и предопределил дидактику и структуру практически всех учебников программирования «первого поколения». Появившийся в середине 60-х годов учебник Е. А. Жоголева[5] и Н. П. Трифонова «Курс программирования» стал первым массовым учебником, ведущим обучение на основе алгоритмического языка, и воспитал не одно поколение программистов. С конца 60-х годов, сразу после формирования   новой учебной специальности «прикладная математика» академик А. Н. Тихонов[6], возглавивший факультет вычислительной математики   и кибернетики, с большой энергией и размахом побуждает своих преподавателей к написанию учебников по полному курсу прикладной математики, отражающих структуру и программы всех дисциплин учебного плана. Отрадно видеть, что в ряд этих учебников стал теперь и новый учебник программирования.

В этом учебнике отражена та область знания программирования, которая охватывает процессы машинной реализации, отладки и выполнения программ, выраженных на алгоритмических языках. Здесь почти не говорится о том, как надо составлять программы на пути от спецификации задачи к тексту на алгоритмическом языке. Было бы, пожалуй, неправомерно ставить в вину авторам отсутствие в этом учебнике таких новшеств, как спецификация, рекурсивные программы, абстрактные типы данных, модули, инварианты, пред- и постусловия, — этот материал, излагаемый в основном в спецкурсах, еще ждет надлежащей стабилизации и новых авторов. В то же время материал, вошедший в учебник, составляющий, так сказать, внутреннюю кухню программирования на ЭВМ, всегда будет нужен, особенно системным программистам.

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

Главная ценность этого учебника — это его соответствие типовой программе двухлетнего курса программирования на ЭВМ. Материал, разрозненный ранее по разным источникам, объединяется общим подходом, хорошо проверенным в течение нескольких лет. Изложение материала почти везде простое и ясное, делающее учебник полезным для самостоятельного чтения. Особым достоинством является неторопливая и достоверная авторская интонация прямого обращения к читателю, основанная, прежде всего, на большом опыте и изложении материала из первых рук.

Можно было бы пуститься с авторами в спор по поводу тех или иных мест в тексте, могущих вызвать критические замечания, однако рецензент, который себя относит скорее к пишущим, нежели критикующим, считает их не очень уместными перед лицом общей положительной оценки этого большого труда. Авторы справились с задачей, которую себе поставили: кто может — пусть сделает лучше!

Примечания

[1] Машинописный текст, вверху слева от руки дата — 2.12.80, справа пометка — по просьбе Э. З. Любимского. Архив, папка 230, листы 200—202.

[2] Эдуард Зиновьевич Любимский (р. 1931) — д. ф.-м. н., профессор, зав. отделом ИПМ им. М. В. Келдыша. Специалист в области разработки, программирования и сопровождения сложных программных систем и баз данных.

[3] Виктор Владимирович Мартынюк (р. 1935) —  к. ф.-м. н., с. н. с. ИПМ им. М. В. Келдыша.

[4] Николай Павлович Трифонов (р. 1925) — к. ф.-м. н., зав. кафедрой ВМК МГУ.

[5] Евгений Андреевич Жоголев (1930—2003) — д. ф.-м. н., профессор кафедры системного программирования факультета вычислительной математики и кибернетики МГУ. Студенческий товарищ А. П. Ершова.

[6] Андрей Николаевич Тихонов (1906—1993) — академик, математик, специалист в области решения задач математической физики. Работал в ИПМ со дня его основания (1953) и до последних дней своей жизни. Профессор МГУ.

Из сборника «Андрей Петрович Ершов — ученый и человек». Новосибирск, 2006 г.
Перепечатываются с разрешения редакции.