Читаем Кодеры за работой. Размышления о ремесле программиста полностью

Гай Стил — настоящий программист-полиглот. На вопрос, какие языки он серьезно использовал, Гай выдал список: Кобол, Фортран, ассемблер IBM 1130, машинный язык PDP-10, APL, Си, C++, BLISS, GNAL, Common Lisp, Scheme, Maclisp, S-l Lisp, *Lisp, C*, Java, JavaScript, Tel, Haskell, Фокал, Бейсик, ТЕСО и ТеХ. «Это основные», — прибавил он.

Он приложил руку к созданию двух основных существующих сейчас диалектов общего назначения языка Лисп: Common Lisp и Scheme. Он участвовал в работе комитетов по стандартам, определивших облик языков Common Lisp, Фортран, Си, ECMAScript и Scheme. Билл Джой нанял его, чтобы он помог в написании официальной спецификации языка Java. Сейчас он разрабатывает Fortress — новый язык для высокопроизводительного научного программирования.

Стил получил степень бакалавра в Гарварде, затем степень магистра и PhD в Массачусетском технологическом институте (MIT). В последнем он вместе с Джеральдом Сассменом выпустил серию основополагающих работ, ныне известных как «The Lambda Papers», где был впервые описан язык Scheme. Он также был летописцем хакерской культуры, одним из создателей Jargon File[63] и редактором книжной версии «The Hacker's Dictionary» — словаря хакера (впоследствии дополненный Эриком Рэймондом, он стал «The New Hacker's Dictionary»). Стил также играл заметную роль в создании Emacs и одним из первых занялся портированием программы ТеХ Дональда Кнута.

Стил — член Ассоциации вычислительной техники (АСМ), Американской академии искусств и наук, Национальной академии инженерных наук. Он лауреат премии имени Грейс Мюррей Хоппер (1988) от АСМ и премии Dr. Dobb's Excellence in Programming Award (2005).

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

Сейбел: Как вы начали программировать?

Стил: В начальной школе я страшно интересовался разными науками, математикой, много читал, например, одна из моих любимых книг -«Magic House of Numbers» (Волшебный дом чисел) Ирвинга Адлера. Еще мне очень нравилась всякая детская фантастика, вроде серии книг про Дэнни Данна. Так что меня вообще влекло в научную, математическую сторону. Я читал все подряд про науку и математику, прочел кое-что и об этих новомодных компьютерах — тогда они только появились.

Сейбел: Когда это было?

Стил: В начальной школе я учился с 1960 по 1966 год. Но, думаю, поворотный момент случился, когда я уже был в Бостонской латинской школе, — примерно в девятом классе. Приятель спросил меня: «Слыхал о новом компьютере, который установили в подвале?» Я подумал, что это очередная его выдумка: до этого он говорил о бассейне на четвертом этаже, а в школе их было всего три. Но он сказал: «Нет, он правда есть».

Оказалось, Винсент Лирсон организовал для Бостонской латинской школы мини-компьютер IBM 1130 и установил его в подвале. Он сам был выпускником школы и очень ей помогал. Приятель показал мне программу из пяти строк на Фортране, и она сразу же покорила меня.

Я спросил учителя математики, что можно почитать. Он дал мне кое-какие книги, думая, что мне хватит на месяц, но я проглотил их за выходные. Я самостоятельно выучил Фортран на День благодарения 1968 года, когда случились длинные выходные. После этого меня прочно зацепило.

Мне и моим школьным товарищам очень нравилось все от IBM из-за того компьютера IBM 1130. Раз в два месяца мы ходили в офис IBM, разговаривали с сотрудниками, покупали их издания, насколько хватало денег.

Кроме того, рядом был книжный магазин с книгами про разные экзотические языки вроде ПЛ/1, там мы тоже кое-что покупали. Вот так в школе мы и познакомились с техникой IBM. В самой школе была только IBM 1130, а мы мечтали о машине System 360. Мы читали о ней, но поработать на ней было негде.

А весной 1969-го я принял участие в программе MIT для старшеклассников. Здорово было — по утрам в субботу студенты объясняли нам все эти крутые штуки. Я слушал лекции по теории групп, программированию и чему-то там еще. И очень сильно прикипел тогда к MIT. Благодаря этой программе я смог поработать и на IBM 1130, и на PDP-10 фирмы DEC. Так мы и познакомились с компьютерами DEC.

Мы, старшеклассники, узнали, что на Сентрал-сквер есть офис DEC. Хотя он был рассчитан на студентов MIT, нам не глядя выдавали разные руководства. Просто здорово! В предпоследнем или последнем классе мы с приятелем предложили им реализовать APL на PDP-8, и они отнеслись к этому серьезно. А примерно через неделю пришел ответ: мол, мы считаем это нецелесообразным, но спасибо за предложение.

Сейбел: Вы помните свою первую интересную программу?

Перейти на страницу:

Похожие книги

Адмирал Советского Союза
Адмирал Советского Союза

Николай Герасимович Кузнецов – адмирал Флота Советского Союза, один из тех, кому мы обязаны победой в Великой Отечественной войне. В 1939 г., по личному указанию Сталина, 34-летний Кузнецов был назначен народным комиссаром ВМФ СССР. Во время войны он входил в Ставку Верховного Главнокомандования, оперативно и энергично руководил флотом. За свои выдающиеся заслуги Н.Г. Кузнецов получил высшее воинское звание на флоте и стал Героем Советского Союза.В своей книге Н.Г. Кузнецов рассказывает о своем боевом пути начиная от Гражданской войны в Испании до окончательного разгрома гитлеровской Германии и поражения милитаристской Японии. Оборона Ханко, Либавы, Таллина, Одессы, Севастополя, Москвы, Ленинграда, Сталинграда, крупнейшие операции флотов на Севере, Балтике и Черном море – все это есть в книге легендарного советского адмирала. Кроме того, он вспоминает о своих встречах с высшими государственными, партийными и военными руководителями СССР, рассказывает о методах и стиле работы И.В. Сталина, Г.К. Жукова и многих других известных деятелей своего времени.Воспоминания впервые выходят в полном виде, ранее они никогда не издавались под одной обложкой.

Николай Герасимович Кузнецов

Биографии и Мемуары
100 великих гениев
100 великих гениев

Существует много определений гениальности. Например, Ньютон полагал, что гениальность – это терпение мысли, сосредоточенной в известном направлении. Гёте считал, что отличительная черта гениальности – умение духа распознать, что ему на пользу. Кант говорил, что гениальность – это талант изобретения того, чему нельзя научиться. То есть гению дано открыть нечто неведомое. Автор книги Р.К. Баландин попытался дать свое определение гениальности и составить свой рассказ о наиболее прославленных гениях человечества.Принцип классификации в книге простой – персоналии располагаются по роду занятий (особо выделены универсальные гении). Автор рассматривает достижения великих созидателей, прежде всего, в сфере религии, философии, искусства, литературы и науки, то есть в тех областях духа, где наиболее полно проявились их творческие способности. Раздел «Неведомый гений» призван показать, как много замечательных творцов остаются безымянными и как мало нам известно о них.

Рудольф Константинович Баландин

Биографии и Мемуары
100 великих интриг
100 великих интриг

Нередко политические интриги становятся главными двигателями истории. Заговоры, покушения, провокации, аресты, казни, бунты и военные перевороты – все эти события могут составлять только часть одной, хитро спланированной, интриги, начинавшейся с короткой записки, вовремя произнесенной фразы или многозначительного молчания во время важной беседы царствующих особ и закончившейся грандиозным сломом целой эпохи.Суд над Сократом, заговор Катилины, Цезарь и Клеопатра, интриги Мессалины, мрачная слава Старца Горы, заговор Пацци, Варфоломеевская ночь, убийство Валленштейна, таинственная смерть Людвига Баварского, загадки Нюрнбергского процесса… Об этом и многом другом рассказывает очередная книга серии.

Виктор Николаевич Еремин

Биографии и Мемуары / История / Энциклопедии / Образование и наука / Словари и Энциклопедии