Забытая история Java:
версия Патрика Ноутона (ч. 2)

Разработка Oak и Star7

В районе залива наступила весна, когда мы арендовали офисы на четвертом этаже на улице венчурного капитала, Сэнд Хилл Роуд, в здании Bank of America. У нас была небольшая команда: я, Джеймс, Майк и ассистент. К этому времени проект стал иметь более осязаемые очертания. Становилось ясно, что он будет состоять из аппаратной и программной части и станет относиться к нише бытовой электроники.
Эти решения были приняты в гидромассажной ванне на курорте Squaw Creek Resort во время конференции вице-президентов и директоров Sun Worldwide. Мне пришлось буквально вломиться на это собрание, так как я был единственным заместителем директора в нашей группе на тот момент.
Вскоре к нам присоединился наш хороший друг Крис Уорт, который был опытным разработчиком NeWS и коллегой Джеймса по проекту Imagination.
Затем в начале апреля пришел Эд Фрэнк, друг Джеймса с докторской степенью из CMU, построивший SPARCstation 10. Он привел с собой своего специалиста по интегральным схемам, Крэйга Форреста, который спроектировал чип управления памятью для передового графического ускорителя SS10.
Эд и Майк сразу же взяли на себя руководство проектом. Эд обладал высшим инженерным титулом «выдающийся инженер», был личностью «типа А» и имел выдающийся ум и прекрасное чувство юмора. Он мог днем ​​создавать микросхемы и проектировать материнские платы, а во сне писать бизнес-планы.
В тот первый год мы вшестером крепко сдружились. Мы видели цель и работали над ней. Эд сконструировал простой портативный компьютер на базе процессора SPARC, состоящий из деталей других бытовых устройств. Крэйг занялся проектированием интегральных схем. Крис приступил к работе над урезанной копией SunOS 4.1.1 с целью уменьшения ее размера. Я начал писать графический и мультимедийный инструментарий, который мы могли бы использовать для создания радикально иного пользовательского интерфейса. Джеймс отвечал за создание программного инструмента, который позволил бы связать вместе все разрабатываемые компоненты. Именно в такой обстановке и родился язык Java.
Мы были группой изгоев из Sun, которые чем больше проводили времени вместе, тем более невыносимыми становились друг другу. Наверно, антропологу было бы интересно изучить те 18 месяцев, в течение которых мы работали в команде в рамках Green Project.
Мы баловали себя едой и развлечениями, потому что считали, что заслуживаем этого. Мы работали так много часов над разными сложнейшими задачами, что несколько ящиков кока-колы в неделю и десятки коробок с мороженым не казались чем-то неуместным. Покупка всех известных игр и устройств ввода для Nintendo за счет Sun имела для нас значение. Мы были шестью парнями, которые положили полтора года своей жизни на создание чего-то крутого для Sun.
Я кричал на Эда по поводу проблем с оборудованием без всякой причины, на что он отвечал мне еще более жестко. Наша неопределённость и неуверенность так быстро истощили нашего дизайнера UI Дэвида Лавалли, что он ушел от нас, вернувшись на работу в NeXT, откуда мы его пригласили ранее. Мы настолько вышли за рамки приличия и корпоративных рекомендаций по взаимодействию с персоналом, что спасти нас было уже невозможно.
Казалось, что мы находились в какой-то альтернативной реальности, в которой были установлены совершенно иные правила социального взаимодействия и правильного общения. Нецензурная лексика стала настолько обычным явлением, что нам пришлось изобрести собственный словарь пошлых шуток, чтобы отличать юмор от оскорблений. До сих пор есть несколько шуток, которые могут нас рассмешить от одного только намека на некоторые слова. Уже дошло до того, что мы заканчивали предложения друг за другом.
В конечном итоге мы не смогли справиться с проектом в одиночку. В начале 1992 г. нам оказали помощь: Джо Пэлранг — дизайнер талисмана Java по имени Duke™; Чак Клантон — дизайнер пользовательского интерфейса; Джонатан Пейн — разработчик интерфейса и приложений, а также группа дизайнеров и техников. Мы нуждались в их помощи.
Все дошло до того, что мы начали разваливаться физически и умственно. Я порвал связки в коленном суставе, играя в хоккей, и на следующий день писал код лежа на кровати для восстановления. Джеймс сломал локоть, впервые катаясь на роликовых коньках. Крис был готов сбежать в Коста-Рику. Крэйг разбил локоть на мелкие кусочки, играя в баскетбол. Майк пытался вывести камень из желчного пузыря размером с мяч для гольфа. Даже Джон, новичок, порвал связки, проскальзывая на третью базу, лишь бы вписаться в коллектив. У меня также появились нервные тики на лице и все время дергался мизинец.
К концу лета 1992 г. язык Джеймса, Oak, работал уже довольно хорошо. Прототип аппаратного обеспечения Star7, разработанный Эдом и Крэйгом, успешно заработал с урезанной версией SunOS Криса. Библиотеки классов Oak, написанные мной и Джоном, хорошо справлялись с управлением пользовательским интерфейсом.
Каждый из нас написал кучу полезных приложений, таких как телепрограмма, общая доска сообщений, беспроводная пейджинговая система и программирование видеомагнитофона с функцией перетаскивания. Крис, Джон и Крэйг даже смогли настроить беспроводные радиосистемы для вызова методов Oak по сети. Прототип Star7 был завершён. И никто не погиб при его создании.
Star7 представлял собой крошечную станцию SPARC, которую Эд и Крэйг уместили в коробке размером примерно 6” x 4” x 4”. Устройство имело беспроводную связь в 200 кбит/с, инфракрасный порт ввода/вывода, сенсорный экран, 6-дюймовый цветной ЖК-дисплей, два слота для карт PCMCIA, два динамика от Nintendo GameBoy и восемь батареек тип AA.
На флеш-карту Star7 размером в 4 МБ мы сумели разместить SunOS, интерпретатор Oak, графическую библиотеку, классы для UI, приложения, изображения, анимацию и звук. Все эти программы успешно запустились в 4 МБ оперативной памяти.
Мы собрали около шести таких прототипов, реализовав в них новый подход к интеграции аппаратного обеспечения, микроядерным ОС, языкам программирования, объектным системам, пользовательским интерфейсам и приложениям.
Green Project официально завершился; мы уложились в два раза быстрее по времени, чем планировалось.
Далее последовал краткосрочный тур по Японии для демонстрации возможностей нашей новой игрушки, после которого мы снова вернулись к работе.

FirstPerson или попытка коммерциализации Star7

Майк и Эд написали бизнес-план, обосновывающий перспективы использования нашей разработки. Первый его вариант назывался «За зелёной дверью», что дает представление об их чувстве юмора. Следующая версия уже называлась «За пределами зелёной двери». Окончательная версия бизнес-плана называлась «Бизнес-план FirstPerson».
FirstPerson — это имя, которое мы с Майком придумали, когда разрабатывали некоторые аспекты окружения под названием Persona. Мы предложили Sun начать немедленное финансирование одноименной компании (FirstPerson, Inc.) для коммерциализации нашей технологии. Было много споров о ее структуре. Майк и Эд настаивали на том, чтобы это было полностью независимое, но финансируемое Sun предприятие и, возможно, японским производителем бытовой электроники. Главное было в том, чтобы создать новую компанию с новыми акциями и долями основателей.
Однажды у нас состоялся судьбоносный обед в кафе California в торговом центре Stanford Mall, на котором присутствовали Энди, Джеймс, Уэйн, Билл, Эд, я и несколько других участников. Завязалась дискуссия о будущем новой компании, в рамках которой Эд настаивал, что это должен быть стартап с долевым участием. Этот разговор вывел его из равновесия; он тихо сказал мне: «Извини, но это не так работает». Он также сказал: «Билл, ты витаешь в облаках Аспена и утратил связь с реальностью!». Биллу это не понравилось. Он ответил, что если Эд считает, что он утратил связь, то сам Эд утратил её еще больше.
То, что произошло через несколько недель после этого обеда, не стало для нас неожиданностью. Эд пожелал нам удачи, попрощался и ушел работать на несколько месяцев в Sun Labs, пока искал инвестиции для создания собственной компании NeTpower.
Следующим ушел Майк Шеридан. Он всячески давил на Уэйна, желая получить должность президента FirstPerson. И вполне справедливо, ведь именно Майк был нашим лидером и дальновидным человеком, который привел нас туда, где мы были в данный момент. Когда Уэйн отказался повысить Майка до вице-президента Sun и не позволил ему возглавить FirstPerson, Майк ушел. «Я не хочу торчать здесь, пока тело остывает», — сказал он.
Так мы осиротели. На следующий день пришел Уэйн Розинг и возглавил проект. Джеймс и я долго спорили, стоит ли сразу сдаться или бороться до конца. Мы взвесили наши варианты найма внешнего лидера и посчитали их сомнительными, так как Уэйн считался одним из основателей проекта. Перед нами стояла дилемма: отказаться от двух лет упорной работы, хлопнув дверью, или продолжить начатое, рискнув с Уэйном. Я решил остаться, но при условии, что у меня будет больше контроля над тем, как все будет организовано. Я хотел быть в его команде, присутствовать на всех совещаниях высокого уровня и на всех встречах или презентациях.
Я смертельно боялся репутации Уэйна, любившего давать такие обещания, которые он и его команда не были в состоянии выполнить. После некоторого торга мы остановились на условиях, что я буду «главным техническим директором» FirstPerson, а Джеймс — «главным научным сотрудником». Никто из нас никогда не был доволен этими титулами, но в долгосрочной перспективе они не имели большого значения.
Мы переехали в самое лучшее место на всем южном побережье — в старую лабораторию DEC Western Research Lab, что на улице Гамильтон Авеню, 100, в Пало-Альто. Ирония в том, что «Группой Гамильтона» здесь была создана Open Software Foundation (OSF) еще до того, как они придумали то, что Скотт всегда называл «Oppose Sun Forever» («Противостоять Sun навсегда»).
Шесть кварталов лучших ресторанов в районе залива, компания CalTrans, предоставляющая транспортные услуги для пассажиров из Сан-Франциско и самые красивые офисные здания вокруг. Дела шли хорошо. Затем я сел на самолет в Японию с Уэйном, и весь последующий год всё катилось под откос. Я сразу же начал волноваться об успехе проекта.
С уходом из нашей команды двух главных участников я задумался, кто теперь сможет вести нас к цели, обладая необходимыми для этого качествами?
У Уэйна было сильное желание заняться аппаратным обеспечением. Он приглашал своих старых друзей из Sun, чтобы обсудить с ними возможность модификации ядра процессора SPARC для оптимизации его работы с Oak во встроенных системах.
Моя задача состояла в том, чтобы создать команду инженеров, которые могли бы разработать миниатюрную ОС, поддерживающую среду выполнения Oak. Я глубоко погрузился в NeXT и привлек несколько ребят, работавших над отмененным NRW (NeXT Risc Workstation) — компьютером на базе NeXTSTEP, использовавшим процессоры Motorola 88110, а затем Power-PC. Питер Кинг, Майк Демони, Джон Симонс, Брюс Мартин — эти парни имели необходимый опыт для выполнения данной задачи.
Джеймс продолжал руководить разработкой Oak. Мы вложили усилия в создание среды разработки, наняв Артура ван Хоффа, создателя HyperNeWS, и Ли Бойнтона, мастера иерархии классов из группы NeXTSTEP. Компания росла слишком быстро. У нас были отличные офисы, отличный логотип, красивая канцелярия, куча талантливых инженеров и отсутствие реального бизнес-плана.
Я провел бо́льшую часть весны в самолетах, летая между Европой и Японией. Нам быстро стало понятно, что продавать чипы SPARC за 50$ в индустрии бытовой электроники — это как продавать эскимосам лед.
Производители не планировали траты, превышающие 5$ за производство одного устройства. Оказалось, что наши затраты были совершенно несоразмерны их ожиданиям, что ставило под сомнение возможность внедрения нашей ОС в бытовые устройства в ближайшее время.
Разработанный ранее бизнес-план для монетизации FirstPerson, оказался несостоятельным, а Майка Шеридана и Эда Фрэнка не было рядом, чтобы помочь его исправить. Майк был теперь президентом компании TV Answer в Рестоне, штат Вирджиния. Он быстро переименовал компанию в eon и пытался продвинуть её в зарождающейся индустрии интерактивного телевидения. Я его понимал.
В марте 1993 г. я был в Денвере на презентации проекта Time Warner Interactive Television, запуск которого был запланирован на апрель 1994 г. в Орландо, Флорида. Тендер на его реализацию выглядел так, как будто был специально написан с учетом использования нашей технологии. Он включал в себя требование на использование небольшой микроядерной ОС, распределенной объектно-ориентированной среды выполнения и возможность создания крупной фермы серверов, способных передавать видео в формате MPEG по сетям ATM. Это было именно то, что могли предложить FirstPerson и Sun. Я вернулся из Денвера полный энтузиазма.
FirstPerson мгновенно переключилась на выполнение этой задачи. Это был тот боевой клич, который как воздух требовался нашей команде. Было не совсем понятно, сколько людей верило в возможность разместить многомегабайтную ОС в тостере, но данный проект был нашим шансом на успех. Крупнейший медиаконгломерат мира умолял о нашей технологии. В кратчайшие сроки мы подготовили коммерческое предложение по ТВ-приставке.
Мы с Энди Бехтольсхаймом обсудили, как мы могли бы использовать большой кластер из небольших рабочих станций для создания многотерабайтной дисковой фермы и передачи MPEG по сети. Оценив наше коммерческое предложение практически по себестоимости, мы представили его Time Warner, пообещав запустить проект в Орландо к апрелю 1994 г.
Мы начали готовиться к получению контракта и продумывали этапы его реализации: написали планы по разработке, найму сотрудников и проектированию оборудования. Это был наш шанс, который мы не могли упустить. В противном случае всё пойдет прахом.
После нескольких недель поездок между Денвером и Сан-Франциско, иногда по три раза в неделю для согласования всех изменений в предложении, мы подошли к решающему моменту. На последней встрече с представителями Time Warner мне было сказано, что накануне они провели голосование и единогласно выбрали FirstPerson. Они были настолько уверены в своих словах, что сообщили нам о своем решении заранее, несмотря даже на то, что у них была запланирована еще одна презентация в тот же день. Только после ее формального проведения, они смогут официально подтвердить согласие. Оказалось, что следующая презентация была от американской компьютерной компании Silicon Graphics, Inc. (SGI).
SGI презентовала свой проект, который представлял собой нереализованную иллюзию. Но несмотря на это, они смогли впечатлить руководство Time Warner красивой презентацией с 3D-картинками и выиграли контракт, фактически предложив свои услуги за бесценок. Джим Кларк, тогдашний генеральный директор SGI, так хотел войти в этот бизнес, что был готов заплатить за это из своего кармана.
Так FirstPerson оказалась на рынке, упустив свой первый крупный контракт. К счастью или, как выяснилось позже, к несчастью, возникла ещё одна возможность испытать работу кабельного телевидения, и выбранный для этого поставщик — компания 3DO (разработчик игровых приставок) — была очень заинтересована в лицензировании нашей технологии для этого проекта.
Остаток лета мы провели в обсуждениях с 3DO и были готовы даже портировать Oak на их игровую консоль. Мы предоставили очень толстое юридическое соглашение, подготовка которого заняла несколько месяцев. Результатом нашей работы стали переговоры, которые свелись к короткому разговору между двумя лидерами компаний, Трипом Хокинсом и Скоттом Макнили. Трип хотел эксклюзивные права на всю технологию Oak, а Скотта не устраивала сумма, которую он предложил. В итоге не достигнув соглашения, мы отправили всё их оборудование обратно и пообещали забыть, что когда-либо видели его.
Прошло уже восемь месяцев, а у нас до сих пор не было рабочего бизнес-плана и крупных клиентов для его реализации.
Несмотря на неудачи, Уэйн настаивал на продолжении работы, надеясь, что предложение о сделке рано или поздно появится. Инженеры были очень расстроены, потому что у них не было эталонной платформы для проектирования. Уэйн хотел создать телеприставку с нуля, используя специально созданный для нее чип на базе SPARC и все необходимые компоненты. Это решение позволило бы задействовать данную платформу в качестве эталона для дальнейшей ее адаптации в качестве испытательного стенда возможностей интерактивного телевидения. Я был категорически против такого подхода и настаивал на использовании готовых компонентов, например, материнской платы ПК с 486 процессором. Таким образом, нам не пришлось бы тратить миллионы долларов на разработку собственного оборудования.
В качестве компромиссного решения я предложил создать эталонную платформу на базе стандартной станции SPARC с установленной специальной видеокартой. Мы договорились с подрядчиками по невысокой цене создать такую видеокарту.
Мы планировали продемонстрировать законченный вариант приставки на выставке Western Cable Show в декабре 1993 г. К этому событию требовалось подготовить PR-стратегию, демонстрирующую миру планы о выпускаемом нами продукте.
Был разработан план официального анонса компании на крупной отраслевой конференции TED5 в Монтерее. Также была запланирована публикация большой статьи в журнале Wired для декабрьского выпуска 1993 г.
Мы пригласили PR-специалистов и отраслевых аналитиков. Элисон Томас, нанятая для ведения PR, сразу подняла тревогу из-за отсутствия у нас ясной бизнес-стратегии. Она сомневалась в наличии рынка для внедрения интерактивного телевидения. Моя хорошая подруга и известный отраслевой аналитик Дениз Карузо также негативно восприняла наши планы по выходу «в свет».
Осенью я провел много времени в поездках по Японии, Европе и Австралии в поисках контрактов для новой концепции интерактивного телевидения и эталонной платформы. Затянувшееся отсутствие интереса к нашим технологиям снова и снова заставляло нервничать наших инженеров. Во время моих разъездов в фирме не было никого, кто бы обладал достаточно ясным представлением о перспективах проекта и мог поддерживать мотивацию в коллективе.
Добросовестные инженеры превращались в сварливых смутьянов из-за наличия слишком большого количества свободного времени и отсутствия четких указаний со стороны руководства. Все требовали бизнес-план, которому можно было бы следовать.
Наступил ноябрь — время подведения итогов деятельности всех бизнес-подразделений компании, так называемого Ops Review, проводимого Скоттом. Я написал очень самокритичный обзор FirstPerson для Ops Review, указывая на все наши текущие недостатки и отсутствие перспектив в условиях умирающего рынка. Всё это дошло до Уэйна. Скотт потребовал от него реального бизнес-плана, иначе…
Уэйн ответил в своем классическом стиле с размахом, что на данный момент создание такого бизнес-плана является его главным приоритетом, и что он завершит его к концу года. Один особо саркастический сотрудник размножил это заявление несколько десятков раз и развесил во всех публичных местах.
К всеобщему разочарованию и моему удивлению, установленный срок прошел, а Уэйн даже не заикнулся о том, почему он не представил обещанный вариант бизнес-плана. Шок сменился гневом, и люди начали рассылать свои резюме в другие компании. Вернувшись после праздников с оставшимися членами команды, мы решили сделать всё самостоятельно. Я привлек директора по инженерии, специалистов по развитию бизнеса и нашего единственного маркетолога. Мы наняли внешнего консультанта для помощи с финансовыми вопросами.
К всеобщему разочарованию и моему удивлению, установленный срок прошел, а Уэйн даже не заикнулся о том, почему он не представил обещанный вариант бизнес-плана. Шок сменился гневом, и люди начали рассылать свои резюме в другие компании. Вернувшись после праздников с оставшимися членами команды, мы решили сделать все самостоятельно. Я привлек директора по инженерии, специалистов по развитию бизнеса и нашего единственного маркетолога. Мы наняли внешнего консультанта для помощи с финансовыми вопросами.
В течение примерно двух недель почти бессонной работы я умудрился испортить отношения с большинством оставшихся членов команды, с которыми совместно работал над планом. Я был одержим целью спасти последние три года своей жизни. Надеюсь, они понимают, что ничего личного в моих действиях не было, просто я не имел времени и энергии для объяснения своей мотивации. Единственным человеком, кто принял мою концепцию по возрождению умирающего проекта, была наш менеджер Ким Полиз. Она всегда напоминала мне о размере рынка настольных ПК, который FirstPerson игнорировала, подтолкнув тем самым отказаться от священного Грааля — интерактивного телевидения. Позже она стала ведущим менеджером по Java и HotJava, а сейчас является генеральным директором Marimba, Inc., стартапа на базе Java, в котором работают и другие старожилы из Sun, Артур ван Хофф, Сами Шайо и Джонатан Пэйн.
При составлении нового бизнес-плана мы хотели: убрать все неизвестные переменные, отказаться от авантюр в виде покорения новых рынков, перестать говорить о создании нового оборудования и о потребителях, сидящих на своих диванах перед мифическим интерактивным телевидением.
В январе 1994 г. стало ясно, что Microsoft/Intel PC и PowerMacintosh стали теми самыми бытовыми устройствами, которые мы так искали. Предположение Майка Шеридана в 1990 г. оказалось ошибочным: компании, занимающиеся потребительской электроникой, не вырастут из примитивных микроконтроллеров на 4 бита, которые заставляют видеомагнитофоны мигать 12:00, а скорее индустрия ПК приобретет маркетинговую и дизайнерскую проницательность, чтобы превзойти телевизоры по продажам. В лучшем случае они встретятся где-то посередине — в некой упрощенной версии ПК на базе телевизора.
Бизнес-план, в написании которого я принимал активное участие, в январе 1994 г., имел смелость предложить отказаться от десятков рабочих мест и миллионов долларов уже вложенных средств, чтобы вернуть проект в то русло, где он мог бы извлечь выгоду из роста потребительских расходов на настольные развлекательные системы и онлайн-мультимедиа. Позже меня критиковали за то, что в этом плане не было нацеленности на всемирную паутину. Эти критики не обратили внимание на то, что никто из нас на тот момент еще не видел Mosaic.
Меня высмеивали за мое предположение, что мы могли бы конкурировать с Kaleida и MacroMedia. На сегодняшний день Kaleida больше не существует, а MacroMedia является лицензиатом Java. В любом случае, я закончил этот бизнес-план за день до установленного срока, предоставив Уэйну право презентовать его. Мне нужно было лететь в Мексику, чтобы провести неделю с Николасом Негропонте и Консорциумом «Телевидение Завтрашнего Дня», в тысячный раз объясняя прелести Oak.
Чего бы вы ожидали в награду за такое самоотверженное решение наших проблем?
Когда я вернулся из Мексики, Уэйн предложил мне взять несколько недель отпуска, оставив должность главного технолога его компании, пока он решит, что со мной делать дальше. Но я отказался от его предложений. Вместо этого я заручился поддержкой представителя HR Рича Стиллера, и начал расследование, чтобы выяснить, что произошло, пока я покорял Чичен-Ицу.
За последнее время я помог написать два бизнес-плана. Ранее в этом году я предложил Уэйну, чтобы Sun создала еще одно подразделение под названием «SunInteractive» (SI), которое занималось бы видеосерверами. Было ясно, что FirstPerson не покрывает эту область, да и при всем желании мы бы не справились с еще одной задачей. Уэйн попросил меня помочь с написанием бизнес-плана для SI и FirstPerson.
Когда Уэйн демонстрировал мой план команде FirstPerson перед презентацией для руководства, он не до конца разделял идеи, описанные в нем, и существенно упростил изначальную презентацию. Когда ему задавали вопросы, на которые он не мог ответить, например, как мы будем конкурировать на рынке ПК с такими гигантами, как Macromedia и Kaleida, он начинал путаться в разных вариантах планов и часто обращался за ответами к старым версиям.
Когда он понял, что рассказываемые им идеи положительно воспринимаются командой, то полностью переключился на презентацию для руководства и предложил бизнес-план для SI, который почти ничем не отличался от плана FirstPerson. На следующий день на спешно созванной встрече с сотрудниками FirstPerson он осудил мой план, назвав меня «ковбоем» и утверждая, что я написал его полностью без его разрешения. Он потратил остаток недели, общаясь один на один с каждым ключевым сотрудником компании. К тому времени, как я вернулся, я был наполовину похоронен.
Я не разговаривал с Уэйном около месяца, пока ходил и оправдывался, убеждая Рича выслушать всех, кто знал, что на самом деле произошло. Я рассказал всем, что Уэйн читал мой черновик плана за день до его завершения, понял его, одобрил и даже предложил изменения, которые я впоследствии внес в окончательный вариант.
Я чувствовал себя так, словно целый месяц давал показания на допросе. Все были удивлены, что я не только не уволился, а продолжал проявлять упрямство и гнуть свою линию. Я чувствовал, что со мной обошлись несправедливо и собирался остаться, пока не восстановлю свое доброе имя.
К марту меня восстановили в компании на неясной должности. Я ждал своего часа, наблюдая, проявит ли Уэйн лидерские качества и задаст ли направление в развитии компании. Но направление Уэйна оставалось прежним: создавать эталонную приставку, завершить Oak, думать об интерактивном телевидении.

Провал с FirstPerson и ориентация на веб

У меня появилась сумасшедшая идея на одной из встреч за городом с Биллом Джоем и Джеймсом Гослингом в Брекенридже, штат Колорадо, которую затем приписали горной болезни: я предложил бесплатно выложить исходники Oak в Интернет. Это решило бы множество проблем, связанных с ограничениями выхода языка на рынок и конкурентным давлением; тысячи людей помогали бы разрабатывать и отлаживать наш собственный продукт. После провала с бизнес-планом эта идея стала превращаться в реальную стратегию.
Подразделение SI вскоре было открыто, и многие вопросы о том, что делать с ОС и нашими разработчиками «железа», отпали сами собой. Название FirstPerson было официально упразднено, а мы стали группой внутри аппаратного подразделения Sun, названной Live Oak, под покровительством и пристальным вниманием Билла Джоя.
Билл был на моей стороне, направляя мои усилия на изучение новых возможностей, связанных с Интернетом. Я воспользовался его оборудованием для создания ряда веб-сайтов: онлайн-сервиса WELL в Сосалито и службы San Francisco Examiner and Chronicle, «SF Gate».
Эта демонстрация возможностей нового языка, в сочетании с идеями, появившимися под влиянием разреженного воздуха в высокогорном городе Брекенридже, и интерес Билла к Oak, привели к новому плану, который предполагал использование его и вебе.
Теперь, когда у нас был утвержденный план размещения исходников Oak в Интернете, работа стала гораздо продуктивнее. Мы сосредоточились на устранении недочетов языка. Джонатан Пейн занимался оптимизацией интерпретатора. Артур ван Хофф переписал компилятор на самом Oak, заменив версию на C, написанную изначально Джеймсом. Этот шаг стал хорошим тестом для языка, поскольку на тот момент его компилятор был самой большой программой когда-либо написанной на Oak. Довольно много вымотанных нашими блужданиями инженеров использовали этот период для отпуска за счет Sun, но основная часть команды вернулась к работе.
Роль Уэйна становилась все более неопределенной, и на судьбоносной встрече в Аспене в июле, где мы обсуждали будущее Live Oak, стало невозможно продолжать игнорировать накопившиеся проблемы. Билл Джой всегда был ангелом-хранителем этого проекта, поддерживая нас или спасая от урезания бюджета, но после моего конфликта с Уэйном он занял более активную позицию. Он хотел использовать Oak как язык системного программирования для своих новых идей, связанных с операционными системами. Он часто сравнивал Oak с более сложными и элегантными языками, такими как Python и Beta. Он долго говорил о том, насколько лучше был бы Oak, если бы мы добавили в него замыкания, continuations и параметризованные типы. Хоть мы и соглашались, что это отличные функции языка, но в первую очередь нам хотелось завершить его при нашей жизни и начать создавать на нем крутые приложения.
Чем больше мы спорили с Биллом о внесении этих изменений, тем сильнее он сопротивлялся. В какой-то момент пришлось выбирать между отстранением его от участия в развитии языка, или потерей контроля над Oak.
Однажды вечером в офисе Билла в Аспене мы с Джеймсом вступили с ним в эпическую битву по поводу развития языка. Билл начал с того, что оскорбил нас, заявив, что Oak значительно уступает другим языкам, и сказал, что он покинет пост архитектора Live Oak, если мы этого хотим. Джеймс и я согласились, что это будет лучше всего, и просто ушли смотреть фильм «Скорость». Какой это был адреналин!
На следующий день Билл вел себя как ни в чем не бывало, испытывая облегчения из-за того, что его освободили от тяжёлой ноши. Билл невероятно умён, и я не исключаю, что он заранее спланировал всё это, чтобы заставить нас взять на себя ответственность за проект.
Важно отметить, что в конечном итоге мы оказались правы в желании закончить язык, даже несмотря на отсутствие некоторых фич. Время работало против нас: у нас было всего около трёх месяцев, чтобы Java могла выстрелить. Мы едва успели. Интересно также, что Билл был абсолютно прав в том, какие фичи языка следовало бы реализовать в долгосрочной перспективе. Когда я смотрю на список того, что он хотел добавить тогда, то теперь хочу их все. Как обычно он оказался прав.
Решающий момент наступил около двух часов дня, когда Уэйн прибыл на встречу на день позже. Мы провели с ним долгую прогулку, в ходе которой удалось прояснить множество вопросов. Я сказал, что, по моему мнению, никто не сможет руководить таким технически сложным проектом без страсти к этому делу. Если бы тогда был рядом Колин Пауэлл, я бы процитировал его речь об «огне в животе». Я напомнил Уэйну наши давние обсуждения NeWS, сути которой он так и не понял, и предположил, что тоже самое произошло и с Oak.
В конечном итоге он понял, что не хочет больше работать над проектом и ушёл из Sun, решив посвятить себя телескопу, что находится во дворе его дома. Мы с Уэйном прошли долгий и непростой путь, но не добились успеха. Независимо от того, что люди помнят о тех днях, я всё ещё уважаю его карьерные достижения и считаю наши разногласия простым различием во взглядах.
Итак, в конце той судьбоносной недели в Аспене мы с Джеймсом получили контроль над проектом: Джеймс продолжил работу над Oak, желая сделать его лучше, а мне, как обычно, поручили написать на нем что-то крутое.
Лето 1994 г. выдалось крайне тяжелым; потихоньку я уже начинал искать новую работу на случай, если решу сдаться. Испытания, связанные с переориентацией нашего проекта, вымотали меня окончательно. Я много времени потратил на отстаивание Oak, сравнивая его с другими языками внутри Sun. Тем временем на горизонте начали появляться Tcl, C++, Self, Clarity и IDL.
Учитывая мою активную роль в продвижении проекта в 1993 г., мне быстро поступило несколько предложений о работе, и я начал задумываться, чем бы заняться перед уходом. Мне хотелось создать что-то действительно крутое на Oak для ПК. За последний год мы видели, как Oak работает только на экране телевизора через симулятор приставки, и это не давало полного представления о его возможностях.
Я начал работать над созданием простой абстракции для оконной системы; возродил несколько старых интерфейсов Oak для X11 на своём рабочем столе. Затем я написал несколько инструментов на Oak с компонентами, шрифтами, кнопками, полосами прокрутки и т. д., что позволило запускать небольшие оконные приложения на ПК. Я также портировал в этот набор инструментов алгоритм размещения и визуализации графов, изначально написанный на C++. Далее создал простой HTML-парсер и рендерер для отображения домашней страницы нашей команды.
Я показал эти приложения Джонатану Пейну; оптимизация интерпретатора, которой он занимался в то время, шла хорошо, и он искал новый проект. Мы обсудили мой HTML-парсер и пришли к выводу, что он не подходит для долгосрочного использования. Джонатан заинтересовался моими инструментами: он изучил учебники по SGML, создал более качественный HTML-парсер, а затем написал все сетевые классы для поддержки HTTP и FTP.
Он также реализовал более эффективный рендерер страниц. Я настроил загрузку изображений в формате GIF и добавил новые компоненты в набор инструментов. Примерно через неделю мы написали клон веб-браузера Mosaic, назвав его WebRunner (дань фильму Blade Runner). Это всех очень взволновало и вызвало живой интерес. Крис Варт, Артур, Джеймс и Джон придумали способ загрузки классов через интернет, подобно тому, как Крис делал это через радиоприёмники в Star7. Крис формализовал интерфейс для этих загружаемых классов, и, вуаля, появился первый Java-апплет с машущим на странице рукой Дюком.
Дюк машет рукой
Через несколько дней после этого я уволился из Sun Microsystems. Остальное, как говорят, уже история. Но не моя история, и пусть её расскажут другие. Я перешёл работать в Starwave, оказавшись по другую сторону "платформенной войны". Я комфортно устроился, разместившись между Netscape и Microsoft, наблюдая, как они вынуждены поддерживать работу своих платформ для корректного отображения контента моей компании.
Java сыграла важную роль в стратегии моей новой компании, что вывело наш сайт в лидеры в Интернете. Кто знает, если Starwave будет так же успешен, как Java, то все наши усилия были не напрасны.

Патрик Ноутон
18 марта 1996 г.
Сиэтл, Вашингтон

Первоисточник: «The Long Strange Trip to Java»
Переводчик: Чимаев Максим
Оцените статью, если она вам понравилась!