Чтение онлайн

на главную - закладки

Жанры

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

Сейбел Питер

Шрифт:

Сейбел: Значит, в Google собираются только крутые программисты. Сейчас компьютеры и программы заполонили все. Как вы думаете, должен ли каждый хоть немного разбираться в программировании, чтобы уживаться с ними или чтобы понимать мир, в котором мы живем?

Норвиг: Вероятно, вы имеете в виду, что взрослый человек должен разбираться в устройстве программ примерно так же, как в конструкции автомобиля. Но в какой мере этот человек должен быть программистом? Обычный человек сейчас может отредактировать документ, составить электронную таблицу. При некотором опыте обращения с таблицами вы уже

немного программист.

“Программирование со стороны пользователя”, “программирование для каждого” - все это не имело успеха. Не уверен, что это так легко. В чем тут дело? В том, что одним это дано, а другим нет? Или в том, что мы не создали модель, - одну простую модель вместо множества индивидуальных попыток программирования?

Сейбел: Многие из тех, у кого я брал интервью для этой книги или по другому поводу, пришли к компьютерам, потому что это доставляло им удовольствие и потому что компьютеры, как им казалось, изменят мир. И сейчас некоторые из моих собеседников разочарованы тем, как мало в результате изменился мир. А вы как думаете?

Норвиг: Я нахожусь в правильном месте. У нас сотни миллионов пользователей, мы можем принести им пользу и быстро запустить для них новые услуги. Это здорово. Не знаю, где еще я мог бы так воздействовать на жизнь людей.

9. Гай Стил

Гай Стил - настоящий программист-полиглот. На вопрос, какие языки он серьезно использовал, Гай выдал список: Кобол, Фортран, ассемблер 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 и одним из первых занялся портированием программы ТеХ Дональда Кнута.

63

Jargon File - англоязычный онлайн-словарь сленга хакеров.
Прим. перев.

Стил - член Ассоциации вычислительной техники (АСМ), Американской академии искусств и наук, Национальной академии инженерных наук. Он лауреат премии имени Грейс Мюррей Хоппер (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, и они отнеслись к этому серьезно. А примерно через неделю пришел ответ: мол, мы считаем это нецелесообразным, но спасибо за предложение.

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

Стил: Так как моим первым языком был Фортран, интересное началось для меня с языка ассемблера для IBM 1130. Первым интересным произведением была программа для генерации контекстных указателей по ключевым словам. IBM делала “быстрые” алфавитные указатели к своим руководствам: ключевое слово можно было найти в алфавитном указателе, а по обе стороны от него располагались и другие слова из того отрывка, где оно встречалось.

Поделиться:
Популярные книги

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

О, мой бомж

Джема
1. Несвятая троица
Любовные романы:
современные любовные романы
5.00
рейтинг книги
О, мой бомж

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Вы не прошли собеседование

Олешкевич Надежда
1. Укротить миллионера
Любовные романы:
короткие любовные романы
5.00
рейтинг книги
Вы не прошли собеседование

Метаморфозы Катрин

Ром Полина
Фантастика:
фэнтези
8.26
рейтинг книги
Метаморфозы Катрин

Эволюция мага

Лисина Александра
2. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эволюция мага

Попаданка для Дракона, или Жена любой ценой

Герр Ольга
Любовные романы:
любовно-фантастические романы
7.17
рейтинг книги
Попаданка для Дракона, или Жена любой ценой

Истинная поневоле, или Сирота в Академии Драконов

Найт Алекс
3. Академия Драконов, или Девушки с секретом
Любовные романы:
любовно-фантастические романы
6.37
рейтинг книги
Истинная поневоле, или Сирота в Академии Драконов

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Возвышение Меркурия. Книга 17

Кронос Александр
17. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 17

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

Волков. Гимназия №6

Пылаев Валерий
1. Волков
Фантастика:
попаданцы
альтернативная история
аниме
7.00
рейтинг книги
Волков. Гимназия №6

Картофельное счастье попаданки

Иконникова Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Картофельное счастье попаданки