Электронная библиотека » Кен Косиенда » » онлайн чтение - страница 3


  • Текст добавлен: 28 декабря 2020, 11:34


Автор книги: Кен Косиенда


Жанр: Программы, Компьютеры


Возрастные ограничения: +16

сообщить о неприемлемом содержимом

Текущая страница: 3 (всего у книги 16 страниц) [доступный отрывок для чтения: 5 страниц]

Шрифт:
- 100% +

Фирменная твердость Стива пропитывала Apple. Он окружал себя такими людьми, как Скотт, Грег, Анри и Бас отчасти потому, что они могли принимать правильные решения без долгих раздумий. Когда Стив задал мне вопрос, это было проверкой моей решительности и того, могу ли я сделать свою демоверсию лучше, чем она уже была. Никто в комнате не присоединился к разговору, потому что Джобс явно смотрел на меня, и лучшим способом ответить было высказать свое мнение. Я сделал это, и он закрыл вопрос с моей разработкой.

Все прекрасно знали, что после того, как Стив вынес вердикт, спорить с ним рискованно, и не потому, что Джобс не прислушивался к мнениям, отличным от его собственного, но потому, что возражать означало усложнять.

А это едва ли выигрышная стратегия. Скотт, Анри, Грег и Бас не заслужили бы своих мест в «Дипломатии», если бы у них не было хорошо развитого понимания, когда лучше ничего не говорить. Бас никогда не выражал никакого неудовольствия по поводу того, что его анимация с увеличением была удалена так же, как и раскладка клавиатуры. Видеть, как твоя хорошая работа остается за кадром, тоже было нашей работой.

Показы демоверсий также были частью работы Стива по созданию того образца разработки, который он хотел, чтобы мы использовали в его отсутствие. Как в конференц-зале «Дипломатия», во всех отделах разработки программного обеспечения были небольшие собрания и небольшие команды, чтобы поддерживать эффективность работы и усиливать принцип достижения максимума с наименьшими затратами. Стив постоянно хотел видеть поток демоверсий, порождающих еще больше других демоверсий. У каждой программы из этого бесчисленного множества были те, кто ее показывал, и те, кто принимал по ней решения. Эти демонстрации помогали всей команде ПО сосредоточиться на создании прекрасных продуктов.

Все это создал Стив. Когда он бросил мне вслед свое «спасибо», это было его способом сказать, что демонстрация моей программы прошла именно так, как ему хотелось. Собрание было продуктивным и имело решающее значение. Это образец, который следовало запомнить и воспроизводить.

Я усмехнулся, поняв, сколько времени потратил на размышления об этой демонстрации и о том, сколь многому Стив научил меня всего лишь на одном собрании, сказав всего четыре фразы.

2. Магический кристалл

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

Эта презентация «магического кристалла» имела место в технологической среде начала 2000-х годов, в то время, когда все еще продолжался резкий подъем активности стартапов, основная часть деятельности которых была связана с интернетом. Microsoft была всеми признанным лидером компьютерной индустрии, браузер Netscape считался самой крутой новой технологией, а Apple оставалась аутсайдером.

Именно в это время многие корпорации Кремниевой долины, выпускающие ПО, начали экспериментировать с бесплатным программным обеспечением и планировали извлечь прибыль из разработки программ, за которые пользователям не придется платить. Эта кажущаяся противоречивой бизнес-стратегия обязана своим появлением Ричарду Столлману, знаменитому программисту и энтузиасту в области новых технологий, человеку, который считал, что все программное обеспечение должно быть бесплатным. Столлман выступал против таких компаний, как Microsoft и Apple, которые продают ПО, но сохраняют как свою собственность и коммерческую тайну исходный код – тексты программ, написанные программистами. У Столлмана были своеобразные убеждения, и он верил, что соединение компьютерного кода и желания получить выгоду создавало ядовитое варево, вредное воздействие которого вынуждало компании вязнуть в пустых интеллектуальных усилиях, требующихся для написания программ. Это превращало разработку ПО в бесполезную игру, препятствующую развитию технологий и наносящую ущерб человечеству. Если вы не программист, бесплатное программное обеспечение может напомнить вам идеализм хиппи в стиле шестидесятых.

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



В 1983 году Столлман начал проект GNU в защиту бесплатного программного обеспечения1 и написал Универсальную общественную лицензию (General Public License, GPL), чтобы продвигать свой проект. Столлман называет GPL «копилефтом» – словом, противоположным понятию «копирайт»[11]11
  От англ. Copyright. Комплекс правовых норм и средств, защищающих авторское право. – Прим. ред.


[Закрыть]
, и, вместо того чтобы ограничивать права пользователей программного обеспечения, GPL расширяет их, гарантируя, что каждый может получить бесплатный доступ к исходному коду, а также изучить его, изменить, использовать как есть или сделать основой своего проекта. Это на самом деле выглядит как свобода, но у GPL есть свои хитрости. Если вы пишете софт, основанный на коде, покрываемом GPL, вы также должны публиковать свое программное обеспечение под GPL. Ожидалось, что это создаст замкнутый круг, постоянно поддерживаемый усилиями каждого кодера на благо всех, богатых и бедных, новичков и компьютерных фанатов, программистов и пользователей.

Если вы не работаете в индустрии программного обеспечения, то Ричард Столлман для вас, скорее всего, просто какой-то влиятельный человек, о котором вы никогда не слышали. За несколько десятков лет свободное ПО распространилось во всей сфере высоких технологий. GPL привела к разработке операционной системы Linux, которая является главным программным обеспечением для смартфонов с системой Android, в центрах обработки и передачи данных Google, Amazon, Twitter и Facebook и на большинстве крупных сетевых серверов разного рода. Интернета таким, каким мы его знаем, не было бы без длительного влияния идей Столлмана и всего того бесплатного софта, появившегося благодаря этим идеям. Скорее всего, не существовало бы поисковых серверов, потоковой передачи музыки и YouTube. Мы обходились бы без Википедии. Без чатов. Без социальных сетей. Без смартфонов. Мир был бы совсем другим.

Моя жизнь тоже могла бы быть другой. До того как прийти в Apple, я работал в стартапе под названием Eazel. Нашей целью было создание удобных в работе систем Linux, пригодных для ежедневного использования на компьютере, – свободного программного обеспечения, которое стало бы альтернативой для Apple Macintosh и Microsoft Windows. Компанией руководили программисты, работавшие с первыми Macintosh в 1980-х годах. Среди них были Бад Триббл, первый менеджер по программному обеспечению Mac, и Энди Херцфельд, маг и волшебник в области программирования, чей графический пользовательский интерфейс помог компьютерам Mac выделиться из ряда обычных для того времени персональных компьютеров с текстовым режимом. Эти ребята были моими героями, и я пришел в компанию, чтобы работать с ними. Именно благодаря элегантности и простоте программного обеспечения Macintosh я и захотел стать программистом2.

Вдохновителем Eazel был Энди, на его видение работы компании во многом повлияло движение за свободное ПО – Энди разделял идеализм Столлмана – и его идея разработки менеджеров файлов и иконок сделали бы Linux достойным соперником более известных операционных систем Windows и Macintosh. Энди назвал эту программу Nautilus, и она должна была помогать пользователям Eazel находить файлы, читать электронную почту, запускать такие программы, как текстовые редакторы и электронные таблицы, и, возможно, даже делать крутые вещи, например вести учет цифровых фотографий. С помощью Nautilus Eazel внесла свою лепту в проект GNOME – не слишком тесное сообщество разработчиков свободного программного обеспечения, участники которого, как отдельные программисты, так и компании, должны были создать остальное ПО для операционной системы, которую мы пытались сделать все вместе.

Чтобы стать частью GNOME, Nautilus должен был иметь лицензию GPL. Это было важным фактором для Eazel как коммерческой компании. Если люди смогут скачивать Nautilus бесплатно, когда мы его закончим, то фирме надо найти другие пути зарабатывания денег. Неудивительно, что они были связаны с созданием закрытого программного обеспечения, которое Eazel могла бы продавать: ряд тогда еще только зарождающихся облачных сервисов, включающих в себя автоматическое обновление ПО и хранение файлов онлайн. Эти облачные центры должны были размещаться в центре обработки и передачи данных Eazel, и бесплатными они не были. Идея состояла в том, чтобы интегрировать Nautilus с этими сервисами и использовать бесплатный софт как приманку, чтобы люди пользовались платными услугами Eazel. Рвение к продажам через интернет, энтузиазм по поводу Linux и свободного ПО, изобилие средств, вложенных в новое предприятие, и связь наших основателей с Macintosh – это сочетание заставило меня думать, что Eazel может стать новой крутой компанией.

Если у нас и в самом деле был шанс, то мы упустили его. Мы так и не достигли ни одной из высоких целей. Главным неверным шагом среди множества шагов, которые мы сделали, было то, что мы не смогли сделать наше программное обеспечение единым продуктом, а не несколькими отдельным проектами. Мы так и не сумели соединить его части в целое. Ничего не работало гладко. В нашей, из-за чего программы часто переставали работать при попытке их обновить. Код, который мы написали, чтобы связать Nautilus с облачными сервисами, не работал вообще. У команды Nautilus постоянно были проблемы из-за координации с GNOME. В сообществе свободного ПО была крайне слабая организация, а желания получить прибыль не было. Его члены не разделяли наше стремление заработать деньги и не старались согласовывать свои действия с нашим расписанием выхода продуктов. Из-за всего этого у нас постоянно что-то задерживалось и опаздывало.

Через несколько месяцев руководство уже не могло закрывать глаза на все эти проблемы и стало искать помощи, чтобы привести программное обеспечение в порядок. Однажды в пятницу я сидел на своем рабочем месте в офисе и ждал человека, который мог бы это сделать. Ранее на этой же неделе я заметил надпись «Дон Моултон» на листке бумаги, приколотом к стене свободного кубикла рядом с моим. Он должен был начать работать в понедельник как менеджер проекта Nautilus. В тот же вечер я познакомился с Доном на одной из ежемесячных вечеринок. Он мимоходом упомянул каких-то «болванов», которые неправильно написали его фамилию. Мы вместе прошли к его рабочему месту, и он исправил ошибку: «Дон МЕЛТОН».

У Дона была неформальная манера общения и аналогичный подход к выбору одежды, появившиеся после его участия в Code Rush – документальном фильме, выпущенном компанией PBS3. В нем рассказывалось о «войнах браузеров» – борьбе между компаниями Netscape и Microsoft за контроль над зарождающимся интернет-серфингом.

Когда в 1990-е годы все больше и больше людей открывали для себя Всемирную паутину, в Microsoft начали опасаться, что многие пользователи сменят свои технические предпочтения, и влияние, как и деньги, перейдут к Netscape – компании, которая создала самый популярный веб-браузер.

Microsoft сделала свой ход, выпустив собственный браузер Internet Explorer в составе операционной системы Windows, стоявшей тогда на 90 % персональных компьютеров. В Microsoft ожидали, что этот шаг отрежет для Netscape любую возможность заработать на привлекательности и доступности своего браузера, поскольку очень немногие люди будут искать что-то еще, если на их компьютерах сразу будет стоять Internet Explorer.

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

Эта стратегия «открытых исходников» была вариацией на тему движения за свободное ПО, но Ричарду Столлману она не понравилась. Ему хотелось, чтобы код был свободным как социальный и политический товар. Он говорил, что программное обеспечение должно быть «свободным, как свобода слова»4. Для Netscape открытый код был попыткой спасти компанию от краха. Это делало их исходный код «бесплатным, как бесплатное пиво»5. Компания надеялась заработать, устроив лучшую пивную вечеринку.

Как показала история, это не сработало. И хотя Netscape не выжила как самостоятельная компания, она выпустила открытую версию кода своего браузера, получившего впоследствии новое название – Mozilla. Браузер получил путевку в жизнь во многом благодаря усилиям Дона, моего нового коллеги по Eazel. Мелтон был ответственен за то, чтобы вычистить все ругательства из исходного кода до того, как он увидел свет.

Непечатная лексика была препятствием, от которого Netscape нужно было избавиться в рамках инициативы с открытым исходником, которая должна была позволить заглянуть во внутреннюю рабочую обстановку разработчиков программного обеспечения. Даже сейчас, когда я пишу эти строки, программисты – это в основном молодые люди, всего несколько лет проучившиеся в колледже, умники заливающие в себя кофеиновые напитки, чтобы выдержать долгие часы за клавиатурой и уложиться в зачастую очень жесткое расписание. Правда, в начале 2000-х годов эта тенденция проявлялась еще сильнее. Когда человек устает, а времени ему не хватает, проявляется его настоящий характер, юношеский пыл перекрывает всё, и споры – технические или другого рода – становятся видны в коде ПО. Используя горбатый регистр[12]12
  Способ написания, при котором слова пишутся слитно, без пробелов, при этом каждое слово внутри фразы пишется с прописной буквы. Стиль получил название CamelCase (верблюжий регистр, горбатый регистр), поскольку прописные буквы внутри слова напоминают горбы верблюда. Широко используется в языках программирования. – Прим. пер.


[Закрыть]
, программисты часто соединяют несколько слов в одно, и показательным примером ненормативной лексики в коде исходника может служить следующая фраза:

cleanUpBobsSh_tStormHeIsAF_kingTurdBlossom;[13]13
  На русский язык эту фразу можно перевести примерно следующим образом: «Уберите этот поток дерьма за Бобом, он долбаный вонючий дристун». (А можно сказать и покрепче.) – Прим. пер.


[Закрыть]

Боясь, что такие грубые ругательства могут поставить под вопрос популярность их программного обеспечения, когда будет опубликован исходный код, руководство Netscape постановило: все ругательства из программ убрать. Чистка кода была грандиозной задачей. Заниматься ею поручили Дону, и, как он говорил, он был для этого чертовски подходящим парнем. Он и сам был тем еще матерщинником. Мелтон нашел и вычистил всю нецензурную лексику, но открытый исходник не сильно помог Netscape в войне браузеров. Компания проиграла.

Поскольку стало понятно, что поражение неизбежно, Дон решил поискать другую работу. К тому времени, когда он пришел в Eazel, отставание от графика разработки не было нашей единственной проблемой. С деньгами тоже было плохо. Eazel нечего было продавать, а финансирование иссякало. Наши руководители были заняты попытками найти новые источники средств, и какое-то время состав сотрудников обновлялся каждые несколько недель. Потом стало тихо. Даже слишком тихо.

Перенесемся на пару месяцев в будущее. Ни один венчурный инвестор не подписал чек, и в тот самый день, когда Eazel выпустила Nautilus 1.0, две трети сотрудников компании были уволены. Мы с Доном оказались в меньшинстве, которое продержалось еще три месяца, пока наши руководители пытались продать компанию как можно быстрее и без всякой выгоды.

Мы с Доном остались без работы, но стали друзьями и, когда не слонялись по Кремниевой долине с ее полями для гольфа, то искали себе новую работу. Вскоре мы услышали, что Apple набирает сотрудников. Компьютерная компания в Купертино провела ярмарку вакансий для бывших работников Eazel. Я взял пару визиток у менеджеров Apple и собирался написать им. Но у Дона, который всегда лучше меня давил на нужные рычаги, была другая идея. Следующее, о чем я узнал, – у меня будет собеседование со Скоттом Форсталлом, который в то время был директором Platform Experience в Apple. В те дни, когда не было iPod и iPhone, этот отдел отвечал за пользовательский интерфейс Macintosh, за такие приложения, как Finder и Почта, а также за пакеты программ, которые использовали сторонние разработчики, чтобы создавать собственные программы для Mac.

Приехав на собеседование в кампус Apple, я увидел Скотта, сидящего за столом в дальнем углу офиса. Когда я вошел, он повернулся и наклонился вперед на стуле, как профессиональный борец в ожидании начала следующего раунда. Во время знакомства я сидел, буквально прижавшись коленями к его коленям. Заблаговременно побеспокоившись о том, чтобы показать на собеседовании свои навыки, я принес домашнюю заготовку – свой последний проект ПО, написанный, когда я уже потерял работу. Это была головоломка-пазл, которая запускалась на Mac OS X, новой операционной системе Apple.

Скотт попробовал мое приложение, и, кажется, оно ему понравилось. Он засыпал меня вопросами по поводу этой программы, причем вопросы летели со скоростью молодого Мухаммеда Али[14]14
  Американский боксер-профессионал, выступавший в тяжелой весовой категории; один из самых известных боксеров в истории мирового бокса. – Прим. пер.


[Закрыть]
, проводящего серию ударов левой.

– Как вы разработали алгоритм создания новых частей пазла?

– Как вы сделали, чтобы ваша анимация шла так гладко?

– Использовали ли вы среду разработки Cocoa или Carbon или обе в какой-то комбинации?

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

Пару дней спустя мы с Доном поехали в магазин компьютерной литературы в Саннивейле – он сказал, что хочет взять там одну книгу. Я пытался заставить его рассказать, как прошло собеседование в Apple, и узнать, не говорили ли ему что-нибудь о моем разговоре со Скоттом, но Дон хранил молчание. Когда мы вышли из магазина и сели в машину, Дон вручил мне экземпляр третьего издания подробного руководства по JavaScript с красиво нарисованным носорогом на обложке6.

– Что ты думаешь по поводу того, чтобы сделать браузер для Apple? – спросил он. – Интересно ли тебе?

Еще бы меня это не интересовало!

Но подождите минутку, разве в Mac OS X нет веб-браузера? Да есть же! Это Microsoft Internet Explorer. По соглашению между Apple и Microsoft, Internet Explorer был включен в базовую поставку системы четыре года назад. Стив Джобс объявил об этом соглашении в августе 1997 года, в тот самый день, когда он пригласил Билла Гейтса присутствовать по видеотрансляции на своем выступлении на выставке-конференции Macworld Expo в Бостоне7. Именно в тот день Гейтс обязался поддержать Apple, обеспечив на пять лет поставки Office for Mac, вложив в Apple 150 миллионов долларов и согласившись предоставить Internet Explorer как веб-браузер по умолчанию для Apple Macintosh. Если не принимать во внимание злосчастное шестиметровое изображение Билла Гейтса, возвышающегося над конференц-залом Mac как Большой Брат, сделка была чрезвычайно удачной для Apple. Это был знак поддержки и одобрения, хотя многие предсказывали, что компанию ждет неминуемый крах. Несколькими месяцами ранее журнал Wired опубликовал на обложке знаменитое изображение разноцветного логотипа Apple, опутанного колючей проволокой. Ниже было только одно слово: «Молитесь»8.

К лету 2001 года Apple встала на ноги, ее поддерживали на плаву конкурентоспособность Mac OS X, успех iMac и (тайные) надежды на iPod, который был выпущен четыре месяца спустя.

Стив и Скотт были очень заинтересованы в том, чтобы продолжать это движение вперед. Они считали, что интернет будет важной частью будущего компьютерной техники, передачи информации и торговли, и хотели, чтобы Apple сама управляла своей судьбой в мире быстро растущих и развивающихся высоких технологий. Им нужна была свобода действий, чтобы улучшать программное обеспечение компании для работы в интернете, а первым шагом на пути к этой цели было создание собственного браузера. Они готовили замену Microsoft Internet Explorer.

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

С точки зрения программиста, веб-браузеры чертовски сложны. Поскольку ранее я с ними никогда не работал, Дон устроил для меня небольшой курс молодого бойца, чтобы я мог поддерживать заданную скорость.

Когда мы в семь часов утра встречались в кафе в кампусе, чтобы выпить кофе, мы «пробегались» по основным подсистемам веб-браузера: контент (текст и графика), стили (шрифты, цвета и положение) и скрипты (динамическое поведение, например проверка формы до того, как вы запустите ее). Дон рассказывал о длинном списке аббревиатур существующих стандартов, описывающих соответствующие технические элементы: гипертекстовый высокоуровневый язык разметки (Hypertext Markup Language, HTML), каскадные таблицы стилей (Cascading Style Sheets, CSS) и язык программирования JavaScript. Также он рассказывал, как эти отдельные части программного обеспечения сочетаются друг с другом, чтобы получались сложные веб-страницы.

Пока я слушал и учился, мне начинало казаться, что создание браузера – это задание, которое не по зубам двум людям, особенно после того, как Дон упомянул большие команды, которые работали в Netscape. Без сомнения, то же самое было и в Microsoft. А мы были командой из двух человек. Как мы могли с ними тягаться?

Дон велел мне не беспокоиться. У него наготове был один трюк. Мы не станем начинать с чистого листа, как это приходилось делать таким первопроходцам, как Netscape. Благодаря движению за свободное программное обеспечение и войне браузеров Netscape опубликовала исходный код для Mozilla. Это означало, что мы с Доном можем воспользоваться открытыми исходниками. Мы можем загрузить и оценить ПО на любом уровне, на каком только пожелаем, и лицензия Mozilla означала, что мы сможем взять этот код для нашего проекта.

Также в интернете были доступны и еще несколько браузеров с открытым кодом, и мы включили исследование этих проектов в список того, что предстояло сделать. Кроме того, имелось и несколько коммерческих вариантов. Но, несмотря на эти планы предварительного исследования, Mozilla на тот момент была нашим главным кандидатом, в основном потому, что Дону уже приходилось работать с этим кодом. Он был полностью уверен в том, что мы сможем использовать по максимуму работу, проделанную большими командами Netscape. Тем не менее, чем больше мы говорили, тем яснее я понимал, что у Дона с Mozilla сложились противоречивые отношения. Положительной стороной было то, что Mozilla представлял собой огромный вклад в веб-технологии, поэтому мы могли использовать код, чтобы Apple не пришлось заново изобретать колесо. Но обратной стороной медали оказалось то, что с исходниками было трудно работать, потому что база данных была огромной, во много раз больше, чем то, с чем нам с Доном приходилось иметь дело в Eazel. Принимая во внимание вводные технические лекции Дона, я понял, что создание веб-браузера – это огромный программистский проект, и мне нужно понимать весь этот новый код.

В самом деле, когда я скачал Mozilla из интернета, моим первым впечатлением от исходного кода были его размеры – около полутора миллионов строк. Я никогда раньше не участвовал в проекте, который составлял хотя бы четверть от этого количества. Если код Mozilla распечатать по тридцать строк на страницу, он составил бы пятьдесят тысяч страниц. Только представьте, что вам предстоит прочитать такую пачку книг, а затем сдать экзамен, где могут спросить про любую произвольно выбранную строку.

В любом случае работу нужно было делать, и я решил, что лучше начну с изучения. Я собрался взглянуть на программное обеспечение поближе, но немедленно налетел на препятствие. Mozilla не «билдилась» на Mac OS X. Это означает, что, хотя у меня был весь программный исходный код для этого браузера, при попытках превратить его в приложение, которое работало бы на операционной системе Apple трехмесячной давности, ничего не получалось. Очевидно, никто, знакомый с Mozilla, никогда не пытался этого сделать. Ничтожная доля Mac на рынке работала против нас. В поисках решения я прошерстил интернет, но ничего полезного не нашел. Поскольку наш проект был секретным, я не мог разместить свои вопросы на онлайн-форумах, как это часто делают программисты, и даже не мог спросить кого-нибудь из коллег в Apple. После нескольких дней безуспешных попыток сделать сборку я признал, что зашел в тупик.

Я сообщил об отсутствии успехов Дону, занятому секретными переговорами с поставщиками исходников, которые могли бы дать разрешение использовать свой код браузера для Apple. Дон по-прежнему считал, что Mozzilla с открытым кодом – это то, что нам нужно. Кроме того, он был уверен, что нашему начальству больше понравится вариант с бесплатным софтом, чем с платным, да еще и за кругленькую сумму.

Тем временем руководство Apple с нетерпением ждало от нас вестей – рекомендаций, признаков прогресса, хоть чего-то, что показывало бы: мы двигаемся вперед. Позднее я узнал, что Скотт начинал в нас сомневаться. Хорошо, что тогда я об этом и не подозревал, потому что через месяц топтаний я уже и сам начал чувствовать напряжение.

Мы с Доном устроили совещание. Он сказал, что собирается уехать на неделю в отпуск, который планировал еще до того, как мы начали работать в Apple. Он хотел, чтобы я за эту неделю полностью погрузился в попытки скомпилировать Mozilla под Mac OS X.

И я погрузился. Я педантично делал заметки. Я проводил долгие часы один на один с кодом. Когда Дон вернулся в офис, я передал ему документ, озаглавленный «Компилирование Lizard. Пятьдесят шагов, чтобы запустить Mozilla на Mac OS X».

Каждый шаг был чрезвычайно важен. Некоторые из них казались просто сумасбродными, особенно один, где-то в середине процедуры, когда нужно было перекомпилировать часть моей среды разработки – библиотеку языка С. Это все равно что трансплантация мозга, только для программного обеспечения. Из-за всего этого «Компилирование Lizard» выглядело не как технический документ, а как дьявольский сценарий для малобюджетного фильма ужасов.

Хорошая новость состояла в том, что все эти шаги работали… Ну, в какой-то мере. Следуя указаниям, мне удалось воспроизвести ярлык программы веб-браузера на своем рабочем столе. Плохая новость состояла в том, что это приложение-Франкенштейн не оживало. Когда я кликал мышью по иконке, Mozilla запускался, но не загружал веб-страницы. Что бы я ни пытался сделать, браузер неизбежно «падал». Пытаясь понять, что не так, я безнадежно запутался в миллионе с лишним строчек исходного кода.

Занимаясь всеми этими исследованиями браузеров, мы одновременно пытались нанять в команду других людей. Мы получили одобрение на то, чтобы взять еще пару программистов, и еще до официального объявления Apple о вакансии начали поиски. Дон знал нескольких человек из Netscape, имеющих опыт в создании браузеров, мы знали нескольких отличных программистов из Eazel, которые все еще не приняли решения по поводу новой работы, и еще мы получили пару заявок от кандидатов внутри компании. Мы столкнулись и с новой трудностью: как убедить людей, у которых есть другие хорошие варианты, согласиться на работу в проекте, о котором мы не можем им рассказать. Дон делал это подмигивая и одновременно заверяя кандидата в том, что его зовут в «большое дело». Все нам отказывали. Те, у кого был опыт работы в Netscape, понимали намек Дона, и никто не хотел никоим образом участвовать в создании еще одного браузера. После недавних мучений с Mozilla я понимал, почему они ведут себя именно так.

В разгар моей борьбы с Mozilla я познакомился с новым кандидатом. Ричард Уильямсон начал с того, что заявил, будто знает, как быстро добиться результата. С британским акцентом, смягченным двумя десятками лет проживания в Соединенных Штатах, он рассказал о себе. В подростковом возрасте он основал собственную компанию по разработке ПО, пару лет занимался смартфонами, затем сделал паузу в учебе, проработав год в NeXT, компании, которой руководил Стив Джобс после увольнения из Apple. Вернувшись после окончания учебы в NeXT, Уильямсон иногда получал приказы от самого Джобса – например, Стив посылал его в Японию на переговоры с клиентом о создании дополнительной сетевой карты для компьютеров NeXT. Переговоры Ричард провел успешно.

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

Но были у Ричарда реальные достижения или он просто умел хорошо говорить? Пытаясь понять это, я спросил его о конкретных технических проблемах, с которыми он сталкивался, и как он их решал.

Каждый раз он выдавал очередное быстро найденное решение. Также я заметил, что, отвечая, Уильямсон оттопыривал указательный палец и мизинец каждой руки и разводил их на ширину плеч так, что концы пальцев указывали друг на друга. Затем он соединял ладони, вращая предплечья в разные стороны. Когда ладони оказывались прямо перед ним, он снова вращал предплечьями, но теперь строго синхронно, будто двигатель, передающий энергию через вал трансмиссии на колеса. После каждого вопроса, который я задавал, все это повторялось, как будто он показывал мне, что для него создавать программное обеспечение так же просто, как изображать эти движения карданного вала.


Страницы книги >> Предыдущая | 1 2 3 4 5 | Следующая
  • 3.3 Оценок: 8

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации