Рейтинговые книги
Читем онлайн Кодеры за работой. Размышления о ремесле программиста - Сейбел Питер

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 126 127 128 129 130 131 132 133 134 ... 153

Сейбел: Каково это — проработать всю жизнь в IBM?

Аллен: То, что я получила работу в исследовательском центре IBM, стало одним из самых счастливых событий в моей жизни, ведь исследовательский центр IBM стоит между производством и наукой. Я как будто на каменной стене — могу посмотреть по любую ее сторону и найти интересные задачи и возможности и там, и там.

Сейбел: Как вам видится — с вашего наблюдательного пункта на стене: достаточно ли активно и тесно взаимодействуют производство и наука?

Аллен: Несколько лет назад национальный научный фонд опубликовал чудесный отчет с диаграммой на целую страницу, в котором было показано, откуда выросли самые доходные отрасли, такие как графика, Интернет, высокопроизводительные вычисления, транзисторы. Эти производства с оборотом в несколько миллиардов долларов были расположены по оси Y, а по оси X было показано время их зарождения, роль производства (по лаборатории) и роль науки.

Некоторые начинали с производства, некоторые — с науки. Вместе они примерно одинаково повлияли на создание этих отраслей с многомиллиардными оборотами. Мне кажется, что по-настоящему важным является сохранение этого взаимодействия — чтобы идеи, технологии, методы и вложения постоянно курсировали туда и обратно.

В настоящий момент, учитывая курс США на поддержку инноваций, на их важность, думаю, в плане взаимодействия у нас все хорошо — в плане совместной работы и совместного решения проблем. А также решения проблем, которые защищают нас от новых проблем, которые нужно решать, в том числе проблем интеллектуальной собственности.

Сейбел: Нельзя сказать, что IBM в этом отношении абсолютно чиста.

Аллен: Конечно, нет.

Сейбел: У вас наверняка есть несколько патентов.

Аллен: Нет, ни одного. Отчасти из-за того, что раньше на ПО нельзя было получить патент. Другая причина заключается в том, что я часто работала на переднем крае индустрии, а лучшим способом внедрить что-либо в IBM была публикация, и нередко другие компании подхватывали мои идеи. Я была больше заинтересована в том, чтобы реализовать идею в продукте, нежели в том, чтобы получить патент.

Сейбел: То есть это было проще, чем убедить кого-либо из IBM создать продукт на основе вашего исследования?

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

Сейбел: Раз уж вы заговорили о том, что получение премии Тьюринга заставило вас поразмышлять над всей своей карьерой, есть ли одно понятие, объединяющее всю вашу деятельность?

Аллен: Думаю, мою карьеру и то, как я работаю, можно описать одним словом: исследование. Я люблю исследовать углы и края — идей, проектов, физической действительности, людей — чего бы то ни было — и мне это очень нравится.

Но есть и другая сторона — я хорошо стартую, но не финиширую. Меня привлекают новые вещи. Компиляторы были просто одной из превосходных областей применения сил, поскольку, работая с компьютерами, я постоянно наталкивалась на новые сложные задачи. И по мере их решения я встречала все больше новых сложных и интересных задач.

14. Берни Козелл

В 1969 году, когда первые два узла сети ARPANET — основы будущего Интернета — были введены в строй, каждый пакет данных, передававшийся по арендованным линиям с пропускной способностью 50 Кбит/с, направлялся через два специальных компьютера, носивших название Interface Message Processors (Интерфейсные процессоры сообщений), или IMP. Эти IMP были спроектированы и созданы компанией Bolt Beranek and Newman (BBN), а управлявшие ими программы писали три программиста, одним из которых был Берни Козелл, ушедший с третьего курса Массачусетского технологического института (MIT) ради работы в BBN.

Первоначально нанятый как программист приложений в проекте по созданию одной из первых систем разделения времени, Козелл быстро перешел к программированию самой системы и вскоре стал «царем системы разделения времени PDP-1», ответственным за завершение кода операционной системы и поддержку работы системы.

За свою 26-летнюю карьеру в BBN Козелл занимался практически всем, заслужив в компании репутацию мастера-отладчика и «умельца», который может спасти любой неудачный проект. Он программировал просто для развлечения: чтобы отточить свое мастерство владения Лиспом, он написал DOCTOR — версию знаменитого виртуального собеседника Элиза — по описанию в журнальной статье автора программы Джозефа Вейзенбаума. Написанный на языке BBN-LISP, широко распространившемся по сети ARPANET вместе с операционной системой TENEX, DOCTOR Козелла стал популярнее оригинала Вейзенбаума, вдохновив других программистов на новые версии и похожие программы.

В 1991 году Козелл ушел из BBN и купил овцеводческую ферму в Виргинии, где и проживает сейчас с женой Линн, тремя собаками, бесчисленными котами и большим стадом овец. Он немного программирует для местного интернет-провайдера, занимается собственными проектами и читает несколько курсов по программированию и компьютерной безопасности в высшей школе, не желая больше быть профессиональным программистом. Ирония судьбы в том, что после переезда в сельскую местность Козеллу — одному из отцов современного Интернета — дома сейчас доступно только соединение по телефонной линии.

В своем интервью Козелл рассказал о том, как ему удалось заработать репутацию мастера-отладчика программ, о важности написания ясного кода и о том, как он убедил остальных программистов проекта IMP перестать латать дыры в двоичном коде.

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

Козелл: В старших классах. Не знаю, правда это или нет, но говорили, что наша школа чуть ли не первой в стране обзавелась собственным компьютером. IBM подарила нам свою модель 1620. Думаю, она появилась в нашей школе за год до меня или тогда же, то есть в 1959 году.

Сейбел: В какой школе вы учились?

Козелл: В научной школе Бронкса в Нью-Йорке. Думаю, те, кто учились до нас, работали еще на IBM 650 Колумбийского университета. Но декан математического факультета был чрезвычайно горд, что у них есть собственный компьютер. Он даже написал учебник по программированию, а в то время их было совсем мало. В итоге я отлаживал все примеры его программ. Практически все, что я помню о старших классах, — это то, как я учился программировать.

Сейбел: Как вы тогда программировали? Ассемблер на перфокартах?

Козелл: Да. В основном на перфокартах, но у модели 1620 уже была своя консоль ввода/вывода; ее роль играла электрическая пишущая машинка IBM Selectric. С ее помощью можно было вводить программы. Чтобы вы поняли, что это была за эпоха: в компьютере не было арифметического блока. Для арифметических действий использовалась таблица, хранящаяся в памяти машины. Например, при сложении двух чисел одно из них давало номер ряда, другое — колонки, а результат находился на их пересечении. Частью создания любой программы был ввод в соответствующий раздел памяти таблиц сложения и умножения.

Так что, в принципе, можно было пользоваться пишущей машинкой, но чаще мы набивали перфокарты и загружали их. Для этого был и Фортран, но я его мало использовал и чаще пользовался ассемблером 1620.

Другой полезный навык, который я освоил в старших классах, — подключение оборудования через коммутационную панель. На каком-то этапе у нас появились, кажется, старые печатающие устройства модели 403, и я занимался их подключением. Это было просто, даже тогда, но десять лет спустя, уже во время работы в BBN, этот опыт мне пригодился. Как-то раз нам понадобилось собрать панель и я сказал: «Дайте инструкцию мне». В результате мне удалось подключить по простому протоколу старое печатающее устройство, чтобы оно служило строковым принтером для нашей PDP-1.

1 ... 126 127 128 129 130 131 132 133 134 ... 153
На этой странице вы можете бесплатно читать книгу Кодеры за работой. Размышления о ремесле программиста - Сейбел Питер бесплатно.
Похожие на Кодеры за работой. Размышления о ремесле программиста - Сейбел Питер книги

Оставить комментарий