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



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

Завински: Да уж, не курорт. Я знаю, что мы поступали именно так, и это работало. Ответить на этот вопрос можно так: а есть ли примеры того, как кто-то быстро и качественно создал здоровенную систему, обедая дома и регулярно высыпаясь? Бывало ли такое? Не знаю. Может, и бывало.

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

Сейбел: Чем вы больше всего гордитесь из того, над чем работали?

Завински: На самом деле я горжусь самим фактом того, что мы выпустили это. Всю систему. Я был полностью сконцентрирован на своей части - создании пользовательского интерфейса для UNIX. Но горжусь я именно тем, что мы вообще выпустили систему и людям она понравилась. Пользователи сразу же стали переходить с NCSA Mosaic, говоря: “Ух ты, это лучшая система, которую мы когда-либо видели”. У нас на панели инструментов была кнопка для страницы What's Cool (Что есть классного), чтобы показать миру все эти безумные веб-сайты, созданные к тому времени, - штук двести, наверное! Не сказать, чтобы я сильно гордился кодом, скорее именно тем, что дело сделано. Код во многих отношениях был не очень хорош - слишком я торопился. Но все было закончено. Мы выпустили систему - это было главное.

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

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

Завински: Честно говоря, не очень. Никогда не было времени начать все сначала и переписать код. Да и вообще не слишком это здорово - начинать все заново и переписывать код.

Сейбел: На каком-то этапе вы также работали и над почтовым клиентом, да?

Завински: Когда мы работали над версией 2.0, Марк зашел в мой отсек и сказал: “Нам нужен почтовый клиент”. Я ответил: “Отлично, я уже работал над почтовыми клиентами”. Я тогда жил в Беркли и несколько недель почти не появлялся в офисе - сидел часами в кафе и набрасывал что-то, пытаясь выяснить, чего же хочу от почтовой программы. Я делал списки, что-то из них вычеркивал, думая, когда же приду к чему-нибудь. Как должен выглядеть пользовательский интерфейс?