Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - страница 19



Первая докторская диссертация по программированию была защищена в Киеве Е.Л. Ющенко в 1966-м году по материалу разработки серии трансляторов на основе адресного языка. Л.Н. Королев стал в 1965-м году первым профессором – программистом [4]. Первое время все эти диссертации причислялись к существовавшим в то время родственным специальностям: вычислительной математике, счетно-решающим устройствам и т. д. В середине 60-х годов под влиянием серии работ по теоретическому программированию была образована новая специальность «математическая логика и программирование». А.П. Ершов был первым программистом, ставшим членом-корреспондентом АН СССР в 1970-м году, а в 1980-м году – ее действительным членом. Сознавая социальные последствия использования ЭВМ и культурное значение программирования (он называл его «второй грамотностью»), А.П. Ершов активно проповедовал его введение в школьную информатику и в курс «Основы вычислительной техники и обработки информации». Его желание компьютеризировать школу преследовало двойную цель: развить в молодых людях интеллектуальный дар программирования и обогатить их мощью информационной обработки.

А.П. Ершов активно поддерживал международный научный обмен и сотрудничество. Он постоянно участвовал в различных комитетах и конференциях IFIP, организовывал многочисленные международные конференции в Новосибирске и других регионах Советского Союза. А.П. Ершов инициировал (и часто редактировал) переводы западных книг по информатике. Установление и развитие личных и профессиональных связей между иностранными учеными и их советскими коллегами было целью, которой он посвятил значительную часть своей энергии.

Взгляды АП. Ершова на программирование, выраженные в серии очерков, начатой в 1972-м году, привлекли широкое внимание во всем мире. Описывая свою профессию поэтически, он утверждал [6]:

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

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

Сильным тормозом в развитии и внедрении автоматизации программирования в 50-е годы было отсутствие буквенно-цифровых устройств ввода-вывода, которые стали общедоступными только с машинами 2-го поколения. Это затрудняло внедрение и ослабляло потребность в разработке комфортных средств отладки. Сужалась и даже становилась в значительной степени бесполезной методика символического кодирования и программирования. Более глубоким последствием стал недостаток внимания к текстовому представлению входных программ для первых трансляторов. Другим примером ограничительного влияния оборудования являлось довлевшее над большинством разработчиков трансляторов требование воссоздать средствами входных языков «любую» машинную программу.