Из истории информатики: 3 декабря


Джон Бэкус ( 3 декабря 1924 года — 17 марта 2007 года ). Джон Бэкус, создатель FORTRANA — первого языка программирования высокого уровня для научных и технических применений.

в 1954 году компания IBM запустила новый проект - 704. Это уже была машина нового поколения - поколения электронно-магнитной памяти. Машина IBM 704 предоставила программистам универсальный набор команд для работы, в том числе с числами с плавающей запятой. Те, кому когда-нибудь приходилось на "Ассемблере" писать алгоритмы обработки чисел с плавающей запятой, знают, как это нелегко. А программировать в ту пору приходилось в основном только математические формулы, и никаких математических сопроцессоров не было. Неудивительно, что в конечном итоге лентяй Джон Бэкус (как он впоследствии шутливо, а может, и не совсем шутливо вспоминал) стал все больше задумываться над тем, как создать независимый от архитектуры машины язык, который позволяет легко программировать математические формулы. Бэкус собрал группу из девяти дипломированных специалистов по математике, и они с энтузиазмом принялись за работу по созданию нового языка. Эти девять человек позднее вошли в пантеон программистской славы, а потому будет нелишним упомянуть их имена: Роберт Нельсон (Robert Nelson), Харлан Херрик (Harlan Herrick), Льюис Хэйт (Lois Haibt), Рой Нат (Roy Nutt), Ирвинг Циллер (Irving Ziller), Шелдон Бест (Sheldon Best), Дэвид Сэйр (David Sayre), Ричард Голдберг (Richard Goldberg) и Питер Шеридан (Peter Sheridan).

В своих воспоминаниях Бэкус пишет, что из-за свойственной ему лени он создал такую систему управления группой, что ему, собственно, и делать-то ничего не приходилось. Наибольшую сложность представляла для него только задача, как заставить членов группы не тратить столько времени на игры. Программисты из группы Бэкуса во время ланча любили сразиться в шахматы (правда, в то время еще не виртуальные, а настоящие). И никакие угрозы не могли их заставить прекратить это глупое убивание рабочего времени ранее двух часов пополудни, а то и позже. С тех пор так и повелось - программисты всего мира не менее двух часов в день должны посвятить компьютерным играм.

Джон Бэкус, конечно, шутит, когда говорит, что ничего не делал. Честь создания первого языка высокого уровня (HLL - High Level Language) принадлежит ему, и никто этих лавров у него никогда не отнимал. Спецификация нового языка появилась осенью 1954 года. Текст программы стал более простым, появились конструкции IF для организации ветвлений и циклы. Но самое главное - невероятно упростилось программирование формул. Например, формула D=B2-4AC, программирование которой даже на современном "Ассемблере" потребует десяток строк кода, на новом языке просто и изящно записывалась следующим образом: D=B**2-4*A*C. Неудивительно, что новый язык назвали транслятором формул (formula translator). Позднее в качестве официального названия закрепилось сокращение этой фразы - FORTRAN. В ноябре 1954 года Харлан Херрик на машине IBM 704 запустил и успешно выполнил первую "фортран"-программу, вообще-то говоря, первую HLL-программу.

Появление языка программирования высокого уровня, который не был привязан к машинам какой-то одной определенной архитектуры, послужило мощным стимулом для развития компьютерной техники. Теперь программисты могли за сравнительно небольшой промежуток времени писать программы, значительно превосходившие по объему вычислений то, что можно было сделать на "Ассемблере". Соответственно, возросли и требования к аппаратной части, что подстегивало изобретателей к созданию более мощных вычислительных систем.

Однако создание "Фортрана" - не единственный вклад Джона Бэкуса в развитие современного программирования. В 1960 году группа программистов из Цюриха, внеся некоторые изменения в спецификацию FORTRAN II, создала алгоритмический язык Algol-60. Джон Бэкус принял самое живое участие в обсуждении нового языка. Однако возникла проблема - английский язык, на котором изъяснялся Бэкус, был мало понятен швейцарским программистам. Для того чтобы исключить взаимное недопонимание, при описании конструкций языка были применены специальные диаграммы, которые Бэкус разработал совместно с Питером Науром (Peter Naur). С тех пор Форма Бэкуса-Наура (Backus-Naur Form - BNF) стала как бы эсперанто мирового программирования. Программисту, владеющему BNF, для знакомства с новым языком не нужно изучать толстенных фолиантов с описанием, достаточно изучить BNF этого языка.

И, наконец, Джон Бэкус создал язык FP, который, правда, не стал так же популярен, как "Фортран". FP - это так называемый чистый функциональный язык программирования, в котором программист сосредотачивается не на переменных и их значениях, а на "черных ящиках" - функциях, имеющих вход и выход. Идеи, использованные в языке FP, послужили материалом для размышления создателям языка LISP. Некоторые современные теоретики программирования считают, что за строгим функциональным программированием будущее, так как, используя этот метод, проще создавать "правильные программы", то есть такие, правильность которых может быть доказана уже путем анализа листинга, а не путем длительных тестов.


------

Источник материала:

  1. ЛЮДИ: Джон Бэкус. URL: http://www.peoples.ru/science/law/john_bekus/

  2. Джон Бэкус (John Backus) URL: http://progresspc.narod.ru/info_bekys.html



Избранное