Программисты — люди не очень публичные, многие работают поодиночке или в небольших группах. Причем самая важная и интересная часть их работы никому не видна, потому что происходит у них в голове. Питер Сейбел, писатель-программист, снимает покров таинственности с этой профессии. Он взял интервью у 15 величайших профессионалов: Кена Томпсона, создателя UNIX, Верни Козелла, участника первой реализации сети ARPANET, Дональда Кнута, Гая Стила, Саймона Пейтон-Джонса, Питера Норвига, Джошуа Блоха, Брэда Фицпатрика, создателя Живого Журнала, и других. Все они «подсели» на программирование еще в школе. Тогда, на заре зарождения отрасли, лишь в немногих учебных заведениях читались курсы по компьютерным наукам. Поэтому будущим гуру приходилось покорять профессиональные вершины самостоятельно, но всех их отличает творческое горение и полная самоотдача любимому делу.
Вы узнаете, что они думают о будущем программирования и как сами научились программировать, как, по их мнению, нужно проектировать ПО, как выбор языка программирования влияет на продуктивность и можно ли облегчить выявление труднонаходимых ошибок.
Об авторе
Питер Сейбел — писатель-программист или программист-писатель. Получив высшее филологическое образование и какое-то время проработав журналистом, пленился Сетью. В начале 1990-х программировал на Perl для журнала «Mother Jones» и портала Organic Online. Участвовал в революции Java как сотрудник WebLogic, позже преподавал программирование на Java на заочных курсах при Калифорнийском университете Беркли. В 2003 году оставил работу архитектора транзакционной системы сообщений, основанной на Java, планируя за год освоить язык Лисп. Вместо этого два года писал книгу «Practical Common Lisp» (Common Lisp на практике), получившую премию Jolt Productivity Award. С тех пор работает «главной обезьяной» Gigamonkeys Consulting: учится учить, заниматься тай-цзи и быть отцом. Проживает в Беркли (Калифорния) с женой Лили, дочерью Амелией и собакой Мелани.
Благодарности
Прежде всего я хотел бы поблагодарить всех своих собеседников, которые любезно согласились потратить свое время и без которых эта книга была бы просто брошюркой с вопросами без ответов. Кроме того, я благодарен Джо Армстронгу и Берни Козеллу и их семьям за то, что предложили мне остановиться у них в Стокгольме и Виргинии. Еще одна особая благодарность — Питеру Норвигу и Джейми Завински, которые не только наговорили собственные интервью на мой диктофон, но и помогли мне связаться с другими будущими героями этих интервью.
Пока я путешествовал по всему свету, проводя интервью, меня приютили еще несколько семей: благодарю за гостеприимство Дэна Уэйнреба и Черил Моро (Бостон), Гарета и Эмму Маккоуэнов (Кембридж, Англия), а также моих родителей, которые предоставили мне отличный плацдарм для действий в Нью-Йорке. Кристофер Родс помог мне заполнить паузу между интервью экскурсией по Кембриджскому университету; благодаря ему и Дэйву Фоксу тот вечер закончился обедом и походом по кембриджским пабам.
Дэн Уэйнреб не только приютил меня в Бостоне, но и был самым усердным рецензентом на протяжении всей работы над этой книгой с той самой поры, когда я только выбирал потенциальных собеседников. Зак Бин, Люк Горри, Дэйв Уолден и моя мама тоже читали рукопись и своевременно меня подбадривали. Зак к тому же — что для моих книг уже традиция — является автором некоторых слов на обложке, на этот раз подзаголовка книги. Алан Кэй внес замечательное предложение включить Дэна Ингаллса и Питера Дойча. Скотт Фальман рассказал мне много полезного о начале карьеры Джейми Завински, а Дэйв Уолден прислал материалы по истории корпорации BBN Technologies, чтобы я смог подготовиться к интервью с Берни Козеллом. Если же я кого-то забыл, примите мою благодарность и вместе с нею извинения.
Спасибо издательству Apress, особенно Гари Корнеллу, который и предложил написать эту книгу, Джону Вакка и Майклу Бэнксу за их предложения, а также моему редактору Кэндейс Инглиш, которая исправила бесчисленные ошибки.
Наконец, самые искренние слова благодарности моей семье — и большой, и малой. Обе мои мамы — родная и теща — приходили присмотреть за ребенком, чтобы я мог еще немного поработать; мои родители на неделю приютили моих жену и малышку, позволив мне сделать последний мощный рывок. И главная благодарность — жене и дочери. Лили и Амелия, хотя иногда мне требуется некоторое время на работу, без вас, девочки, она не имела бы смысла. Я люблю вас.