В дальнейшие годы Джон Бэкус принимал участие во многих различных проектах, проводимых Исследовательской лабораторией фирмы IBM в Сан-Хосе, Калифорния. В 70-е годы он разработал функциональный стиль программирования, основанный на использовании комбинированных форм для создания программ. Этот стиль включает типы данных для функционального программирования, алгебраические преобразования программ и оптимизацию. Совместно с Джоном Уильямсом и Эдвардом Уимерсом он разработал новый язык программирования FL. Это универсальный язык, поддерживающий общие файлы ввода-вывода и интерактивные программы. В языке особое внимание уделено точному семантическому описанию и обработке абстрактных типов данных. Также вместе со своими сотрудниками Бэкус разработал оптимизирующий компилятор, использующий алгебраические преобразования.
Кроме премии Алана Тьюринга, о которой было сказано выше, Джон Бэкус в 1976 году был награжден Национальной медалью за вклад в науку.
Как пишет Лесли Гофф: "Иногда стимулом к изобретению становится не полет творческой мысли и не необходимость, а желание отдохнуть от нудной и тяжелой работы. Джон Бэкус убежден, что именно это заставило его разработать язык, в значительной мере автоматизирующий работу программиста".
Андрей Петрович Ершов
Выдающийся ученый в области программирования
Программирование обладает богатой, глубокой и своеобразной эстетикой, которая лежит в основе внутреннего отношения программиста к своей профессии, являясь источником интеллектуальной силы, ярких переживаний и глубокого удовлетворения. Корни этой эстетики лежат в творческой природе программирования, в его трудности и общественной значимости.
А. П. Ершов
Андрей Петрович Ершов
Творческая деятельность академика Андрея Петровича Ершова неразрывно связана со становлением системного и теоретического программирования, развитием этих направлений, формированием их методологической базы. Ему принадлежат фундаментальные результаты в теории операторных схем, общей теории экономии памяти, в теории схем программ с распределенной памятью, а также начальная формулировка теории схем параллельных программ, развитая впоследствии его учениками.
А. П. Ершов — автор одной из первых в мире программирующих программ, той концептуальной основы, на которой строятся современные системы программирования. Им создан Входной язык — один из первых алгоритмических языков высокого уровня. Книга А. П. Ершова "Программирующая программа для быстродействующей электронной счетной машины" — первая в мировой практике монография по автоматизации программирования.
Под руководством А. П. Ершова созданы система АЛЬФА, решившая проблему разработки высококачественных программ средствами автоматизации программирования, а также первая в СССР система разделения времени АИСТ, архитектурные и программные решения которой широко использовались при создании центров коллективного пользования.
В 80-е годы теоретические работы А. П. Ершова были связаны с разработкой фундаментальных основ трансляции, развитием теории смешанных вычислений и трансформационного подхода к программированию. Его работы по теории смешанных вычислений были первым исследованием по программированию, удостоенным высшей в СССР математической награды — премии им. А. Н. Крылова.
В середине 70-х годов А. П. Ершов начинает не всеми понятую тогда работу по введению школьников в мир вычислительной техники, по научному и экспериментальному обоснованию идей информатизации образования. Будучи признанным лидером в этой области, он много сделал для становления нового общеобразовательного учебного предмета "Основы информатики и вычислительной техники".
А. П. Ершов со школьниками
Андрей Петрович Ершов родился в Москве 19 апреля 1931 года. Учась в школе, он, конечно, не мечтал о профессии программиста, т. к. в те годы такой профессии попросту не существовало.
Он увлекался физикой и математикой, но физика была ближе, поэтому после окончания школы решил поступить на физико-технический факультет МГУ.
Из воспоминаний А. П. Ершова: "Впрочем, выбор этот в значительной степени был предопределен не глубоким интересом к физике, а тем, что туда вступительные экзамены были в три тура, и мне очень хотелось все их пройти. Кстати говоря, на письменной работе по математике при поступлении на физтех я впервые встретил Владимира Михайловича Курочкина, одного из наших ветеранов в области программирования. Так что, самое первое знакомство с этой наукой, по крайней мере, в лице ее представителя, у меня состоялось тогда, в 1949 году. Но в тот раз В. М. Курочкин о программировании ничего не говорил, а просто забрал у меня мою письменную работу.
Я поступил на физтех, но дальше первого курса мне учиться не пришлось. Времена тогда были серьезные, а я мальчишкой жил какое-то время на оккупированной территории. Примерно четверть курса отчислялась по сходным мотивам, в число таких горемык попал и я.
Я был комсоргом курса, чувствовал себя уже неотъемлемой частицей этого нового интересного коллектива. Но делать было нечего. Надо сказать, что люди, которые должны были эту нелегкую процедуру осуществить, старались относиться к отчисляемым студентам с максимальным вниманием, предпринимали активные усилия для того, чтобы направить их на близкие по профилю факультеты. Так в июне 1950 года я подался на механикоматематический факультет МГУ.
Пришел я туда, стал учиться математике. На нас, девятерых ребят, перешедших с физтеха, смотрели с интересом, а народ на факультете подобрался сильный.
Через год, уже на втором курсе, на майские праздники произошла вот какая вещь. Мы уже знали, что у нас в МГУ только что появилась кафедра вычислительной математики, весьма загадочная, потому что никто не знал, что это такое. Известно было только, что ею заведует академик Соболев, человек необычный, который стал академиком чуть ли не в тридцать лет, а сейчас работает в каком-то тайном месте — на самом деле Сергей Львович Соболев служил в той организации, которая потом стала называться Институтом атомной энергии. Кое-кто из ребят постарше уже побывал на новой кафедре, мы же пребывали в полном неведении".
Студенческий приятель Андрея Ершова Евгений Жоголев, который уже записался на новую кафедру, ввел его в курс дела, рассказал, чем занимается новая кафедра, и в частности — об ЭВМ.
Андрей Петрович продолжает свои воспоминания: "…он мне рассказал поразительную вещь. Оказывается, существуют какие-то электронно-вычислительные машины, они очень интересно устроены, и у них есть ртутная память. Я был поражен — что такое ртутная память? Такая стеклянная трубка, наполненная ртутью, а по бокам заткнута пьезокристаллами. Если тебе надо запомнить какое-либо число, то оно изображается как в азбуке Морзе: импульс, нет импульса и т. д., целая цепочка электрических импульсов. Так вот, эти импульсы по проводу приходят в пьезокристалл, он от этих импульсов сотрясается, и получается звуковая волна, которая бежит вдоль ртути по трубке, добегает до следующего пьезокристалла, сотрясает его, в результате получается электрический ток, и это же число в виде импульсов воспроизводится на другом конце трубки, потом по проводу бежит назад, снова на трубку — выходит, что число беспрерывно бегает в этой ртутной памяти. Не знаю почему, но этот рассказ произвел на меня очень сильное впечатление, резко повысив мой интерес к электронно-вычислительным машинам, и я записался на кафедру вычислительной математики.
Год я там занимался чем попало, но в начале четвертого курса у нас на кафедре появился молодой профессор Алексей Андреевич Ляпунов, который до этого преподавал в какой-то военной академии. То, что он нам стал читать, были первые в Советском Союзе основы программирования для электронно-вычислительных машин. Причем первую половину курса он читал довольно реферативно: в сборнике переводов "Новости ракетной техники" была большая переводная статья, ее мы и изучали. Группа европейских ученых, которые побывали в США, познакомилась с американскими вычислительными машинами и некоторые сведения о них опубликовала. Те, кто занимался в то время становлением ракетной техники, по счастью, смотрели на дело очень широко, поэтому они подхватили сведения и по вычислительной технике и включили в этот сборник.