Джон Бэкус

Создатель Фортрана и человек, очень любивший музыку

Джон Бэкус - фигура в компьютерном мире легендарная. Говорят, что в нашем мире ленивых гениев успеха достигает любая трудолюбивая посредственность. Можно сказать, что Бэкус стал счастливым исключением из этого правила - он был добившимся колоссального успеха ленивым гением.

Совсем недавно в "Компьютерных вестях" уже была статья о языке программирования Фортран - самом долгоживущем из всех высокоуровневых языков. Фортран, будучи первым языком программирования высокого уровня*, оказал влияние и на все последующие высокоуровневые языки - просто потому, что был первым и не мог не оказать влияния на всё, что создавалось после. Так что можно сказать, что Джон Бэкус во многом определил вид всей современной индустрии программирования, которая использует, в основном, высокоуровневые языки. Однако биография этого человека, надо отметить, не менее интересна, чем то, что он создал.

Родился Джон Бэкус в 1924 году в Филадельфии. Его отец был химиком-инженером. Работал он, что интересно, на заводе, производящем нитроглицерин. В школе Джон особым усердием не отличался, но, тем не менее, в 1942 году поступил в Университет Виржинии. Там он тоже не слишком усердствовал, и едва ли не единственным регулярно посещаемым предметом для него была музыка. Итог был вполне закономерен: в 1943 году Бэкуса отчисляют. И, говоря откровенно, именно благодаря этому мы и можем сегодня говорить о достижениях этого человека: из-за отчисления Джона призвали в армию - ведь шла Вторая мировая война. А из-за призыва его обследовала врачебная комиссия, которая обнаружила опухоль черепной кости. В результате операции поражённую кость удалили, а на её место вставили металлическую пластину. Бэкус пластиной остался недоволен и заказал другую, самостоятельно выполнив необходимые чертежи.

Сменив пластину, Бэкус поселился в Нью-Йорке. Его, в общем-то, ничего особо не интересовало - только музыка, которую он любил так же сильно, как и прежде. Однако была одна проблема: очень невысоким в то время было качество звуковоспроизводящего оборудования, и Бэкус решил взяться за него всерьёз. Для этого он поступает в школу радиотехники. Эта школа - второй поворотный пункт в судьбе Джона Бэкуса. Там один преподаватель попросил ему помочь с построением графиков характеристик нескольких усилителей, и это требовало громадного объёма вычислений. Долгие часы вычислений - и вот Джон заинтересовался математикой настолько, что поступает в Колумбийский университет. Учится он, естественно, на математика.

 

За несколько месяцев до получения диплома Бэкус как-то попал в компьютерный центр IBM. После собеседования его приняли на работу. Первым проектом, в котором Джону Бэкусу довелось поучаствовать, был проект по вычислению точных положений Луны в пределах двух столетий. Расчёты велись на компьютере SSEC - гиганте с тысячами вакуумных ламп. На этом компьютере Бэкус работал вплоть до 1952 года. После SSEC были другие, более новые машины - легендарные IBM 701 и 704.

Бэкус программировал в то время, в основном, математические вычисления. Представьте себе, какой это был титанический труд: программирование вычислений с плавающей точкой на ассемблере без математического сопроцессора! Поэтому ничего удивительного в том, что довольно-таки ленивый по своей природе Бэкус начал всё чаще задумываться о возможных альтернативах для Ассемблера. Однажды он озвучил эти мысли перед начальством, и вот уже в 1953 году Бэкус и девять других дипломированных математиков организованы в рабочую группу по созданию нового языка программирования.

Первый отчёт по новому - принципиально новому - языку программирования появился в ноябре 1954 года. Однако разработка работоспособного компилятора заняла намного больше времени - он впервые появился в 1954 году. Но, согласитесь, это не так уж много для работы пионеров в этой области - ведь это был первый в мире компилятор высокоуровневого языка. Сложно даже представить, с каким количеством разнообразных задач, никем никогда ранее не решавшихся, пришлось столкнуться группе, разработавшей язык и компилятор Фортран.

Следом за первой версией последовали вторая, третья и четвёртая - соответственно, Фортран II, III и IV. Но поучаствовал, причём не косвенно, а самым что ни на есть непосредственным образом, Бэкус и в разработке другого языка программирования, Алгола. В 1960 году его пригласили в Цюрих (Швейцария) для обсуждения стандарта Алгол-60, разработанного на основе Фортран II. В ходе живого общения с европейскими коллегами возник языковой барьер: Джон не знал немецкого, швейцарцы плохо понимали по-английски. Для облегчения коммуникаций Джон Бэкус и Питер Наур вместе разработали специальный способ описания конструкций языков программирования - нотацию Бэкуса-Наура (в английском варианте она обозначается буквами BNF, отсюда аббревиатура БНФ как калька перекочевала и в русский язык).

Есть и ещё один язык программирования, разработанный Джоном Бэкусом. Он называется FP (от Functional Programming). Язык этот чисто функциональный, то есть всё внимание программиста сосредоточено на построении и вычислении функций в математическом понимании этого слова. В функциональном программировании задача описывается не алгоритмом, а зависимостями функций друг от друга. Впрочем, стоит отметить, что FP - не самый популярный язык функционального программирования; говоря откровенно, он вообще мало известен широкой публике.

Джон Бэкус, к сожалению, уже умер. Случилось это 17 марта 2007 года. Было ему 82 года. Как видите, этот человек сумел хорошо распорядиться своей долгой жизнь и подарил человечеству немало замечательных изобретений, которые, думается, будут ещё долго и с благодарностью им использоваться.

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by


* Язык программирования высокого уровня - это такой язык программирования, который позволяет абстрагироваться от конкретной архитектуры процессора и процессорных команд для этой архитектуры

Версия для печатиВерсия для печати

Номер: 

51 за 2007 год

Рубрика: 

Кто есть кто
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!