Архитекторы компьютерного мира - Аркадий Частиков
Шрифт:
Интервал:
Закладка:
Джону Бэкусу было 25 лет, когда он, получив степень магистра математики в Колумбийском университете, по приглашению Рекса Сибера — одного из изобретателей машины SSEC (Selective Sequence Electronic Calculator), поступил на работу программистом в фирму IBM. Это случилось в 1950 году.
Бэкус ничего не знал о компьютерах, когда пришел в фирму IBM, но проработав на SSEC около года, возглавил небольшую группу программистов, которая разработала интерпретатор Speedcoding для компьютера IBM 701. Затем он работал в составе группы по созданию преемника компьютера IBM 701 — компьютера IBM 704.
Koмпьютер IBM 701
В декабре 1953 года Джон Бэкус, неоднократно заявлявший, что "всегда был лентяем", обратился к своему шефу Кутберту Хэрду с предложением разработать практический язык программирования высокого уровня и компилятор для машины IBM 704. Ответ был восторженным и предложению Бэкуса был дан зеленый свет.
Местом рождения FORTRAN стала штаб-квартира фирмы IBM на Мэдисон-авеню в Нью-Йорке — в офисе на 19 этаже, где расположилась группа Бэкуса. Сначала с Бэкусом работал только Ирвинг Циллер, потом присоединился Харлан Геррик с полудюжиной математиков и техников.
В принципе разработчики и не думали, что их язык программирования будет когда-либо использоваться на машинах, отличных от IBM 704, но они были уверены, что если они преуспеют, их работа будет иметь огромное воздействие на компьютерный мир.
Итак, работа началась. Сначала они выделили основные понятия языка, в частности оператор присваивания, задававший переменным определенное значение, затем они ввели индексируемые переменные и очень важный оператор цикла — DO. Как говорил Бэкус, большинство пользователей "считали, что основной вклад FORTRAN — это возможность иметь программы в виде алгебраических формул, но на самом деле это не так". По мнению Бэкуса, "что делал FORTRAN в первую очередь, так это автоматизировал организацию циклов" — свойство, незаменимое в научных приложениях.
Работа в целом над проектом и, в частности, над языком шла быстро. Когда кто-то спрашивал разработчиков, через какое время он будет закончен, они всегда отвечали, что через шесть месяцев. Ученые действительно полагали, что это будет так. Но фактически потребовалось три года.
Критической проблемой для Бэкуса и его группы стала не разработка языка, а разработка компилятора. Создать эффективный надежный компилятор FORTRAN оказалось более трудной задачей, чем предполагалось. Группе пришлось иметь дело со вводом, выводом, циклами и многими другими запутанными вещами, необходимыми для преобразования команд, написанных на языке высокого уровня, в машинный код. Из трех лет, затраченных на разработку проекта в целом, более двух лет заняла работа над компилятором. Если первое сообщение о создании языка группа сделала в 1954 году, то о разработке компилятора — только в апреле 1957 года. Кстати, о названии. Бэкус придумал несколько банальных названий, но каждый раз они не устраивали коллег. Но однажды он предложил FORTRAN (FORmula TRANSlation). Реакция была аналогичной, но это название было принято из-за отсутствия лучшего.
Пользователи признали FORTRAN очень неохотно. Как вспоминает Бэкус, программисты "весьма скептически воспринимали все наши заявки". Однако в дальнейшем многие поняли его простоту в обучении и использовании и он стал незаменимым языком для научных и инженерных приложений.
Питер Наур
Даже в середине 80-х годов XX века Джон Бэкус испытывал чувство гордости от долговечности FORTRAN: "FORTRAN существовал в течение тридцати лет. Какой компьютер просуществовал более пяти лет?"
В числе своих главных достижений в течение первых десяти лет исследований (от 1950 года и до 1969 года) главными Бэкус считал два: создание и развитие FORTRAN и применение для описания ALGOL способа формальной записи — БНФ (Бэкуса Нормальная Форма). Позднее аббревиатуру БНФ стали расшифровывать как "Бэкуса — Наура Форма", отмечая заслуги датского программиста Питера Наура в развитии языка ALGOL.
В дальнейшие годы Джон Бэкус принимал участие во многих различных проектах, проводимых Исследовательской лабораторией фирмы IBM в Сан-Хосе, Калифорния. В 70-е годы он разработал функциональный стиль программирования, основанный на использовании комбинированных форм для создания программ. Этот стиль включает типы данных для функционального программирования, алгебраические преобразования программ и оптимизацию. Совместно с Джоном Уильямсом и Эдвардом Уимерсом он разработал новый язык программирования FL. Это универсальный язык, поддерживающий общие файлы ввода-вывода и интерактивные программы. В языке особое внимание уделено точному семантическому описанию и обработке абстрактных типов данных. Также вместе со своими сотрудниками Бэкус разработал оптимизирующий компилятор, использующий алгебраические преобразования.
Кроме премии Алана Тьюринга, о которой было сказано выше, Джон Бэкус в 1976 году был награжден Национальной медалью за вклад в науку.
Как пишет Лесли Гофф: "Иногда стимулом к изобретению становится не полет творческой мысли и не необходимость, а желание отдохнуть от нудной и тяжелой работы. Джон Бэкус убежден, что именно это заставило его разработать язык, в значительной мере автоматизирующий работу программиста".
Андрей Петрович Ершов
Выдающийся ученый в области программирования
Программирование обладает богатой, глубокой и своеобразной эстетикой, которая лежит в основе внутреннего отношения программиста к своей профессии, являясь источником интеллектуальной силы, ярких переживаний и глубокого удовлетворения. Корни этой эстетики лежат в творческой природе программирования, в его трудности и общественной значимости.
А. П. ЕршовАндрей Петрович Ершов
Творческая деятельность академика Андрея Петровича Ершова неразрывно связана со становлением системного и теоретического программирования, развитием этих направлений, формированием их методологической базы. Ему принадлежат фундаментальные результаты в теории операторных схем, общей теории экономии памяти, в теории схем программ с распределенной памятью, а также начальная формулировка теории схем параллельных программ, развитая впоследствии его учениками.
А. П. Ершов — автор одной из первых в мире программирующих программ, той концептуальной основы, на которой строятся современные системы программирования. Им создан Входной язык — один из первых алгоритмических языков высокого уровня. Книга А. П. Ершова "Программирующая программа для быстродействующей электронной счетной машины" — первая в мировой практике монография по автоматизации программирования.
Под руководством А. П. Ершова созданы система АЛЬФА, решившая проблему разработки высококачественных программ средствами автоматизации программирования, а также первая в СССР система разделения времени АИСТ, архитектурные и программные решения которой широко использовались при создании центров коллективного пользования.
В 80-е годы теоретические работы А. П. Ершова были связаны с разработкой фундаментальных основ трансляции, развитием теории смешанных вычислений и трансформационного подхода к программированию. Его работы по теории смешанных вычислений были первым исследованием по программированию, удостоенным высшей в СССР математической награды — премии им. А. Н. Крылова.
В середине 70-х годов А. П. Ершов начинает не всеми понятую тогда работу по введению школьников в мир вычислительной техники, по научному и экспериментальному обоснованию идей информатизации образования. Будучи признанным лидером в этой области, он много сделал для становления нового общеобразовательного учебного предмета "Основы информатики и вычислительной техники".
А. П. Ершов со школьниками
Андрей Петрович Ершов родился в Москве 19 апреля 1931 года. Учась в школе, он, конечно, не мечтал о профессии программиста, т. к. в те годы такой профессии попросту не существовало.
Он увлекался физикой и математикой, но физика была ближе, поэтому после окончания школы решил поступить на физико-технический факультет МГУ.
Из воспоминаний А. П. Ершова: "Впрочем, выбор этот в значительной степени был предопределен не глубоким интересом к физике, а тем, что туда вступительные экзамены были в три тура, и мне очень хотелось все их пройти. Кстати говоря, на письменной работе по математике при поступлении на физтех я впервые встретил Владимира Михайловича Курочкина, одного из наших ветеранов в области программирования. Так что, самое первое знакомство с этой наукой, по крайней мере, в лице ее представителя, у меня состоялось тогда, в 1949 году. Но в тот раз В. М. Курочкин о программировании ничего не говорил, а просто забрал у меня мою письменную работу.