В 1990 году IBM PC господствовал на рынках, и многие считали, что компания Sun Microsystems упустила возможности на рынке настольных систем. Она добилась определенных успехов на рынке рабочих станций и серверов, но рынок desktop, казалось, был безвозвратно утерян. Поэтому, когда уважаемый в фирме 25-летний программист Патрик Нотон (Patrick Naughton) заявил президенту Скотту МакНили (Scott McNealy), что он уходит в NeXT, это не было большой неожиданностью для последнего. В NeXT, дескать, все делается как надо, сказал Нотон. Но МакНили попросил его перед уходом написать, что не так делает Sun. А что бы сделал ты? - спросил президент. Нотон, хотя и не рассчитывал на то, что кто-то обратит внимание на его письмо, все же изложил свои претензии, беспощадно раскритиковав недостатки Sun Microsystems, в частности, разрабатываемую в тот момент архитектуру ПО NeWS. К удивлению Нотона, его письмо возымело успех: оно было разослано всем ведущим инженерам Sun Microsystems, которые не замедлили откликнуться и высказать горячую поддержку своему коллеге и одобрение его взглядов на ситуацию в Sun Microsystems. Обращение вызвало одобрение и у высшего руководства компании, а именно, у Билла Джоя (Bill Joy), основателя Sun Microsystems, и Джеймса Гослинга (James Gosling), начальника Нотона. Помимо прочего, было предложено нанять дизайнера для переработки оконных интерфейсов, выбрать одну программную библиотеку, сосредоточится на единой оконной технологии, и, наконец, уволить существующую группу по MS-Windows, ибо это подразделение больше не понадобится, когда Sun пойдет верным путем. Мнрогие согласились с Ноутом, говоря, что просто боялись сказать то же самое. Джеймс Гослинг, легендарный программист, чье слово имело значительный вес, признал, что Нотон сказал горькую правду. Они писал: "Где-то по дороге мы перестали понимать, что значит делать качественный продукт". В тот день, когда Нотон должен был уйти из компании, было принято решение о создании команды ведущих разработчиков с тем, чтобы они делали что угодно, но создали нечто необыкновенное.
Команда из шести человек, с кодовым названием Green, ушла в самовольное изгнание, погрузившись в исследования бытовых устройств, таких как Nintendo Game Boys, устройств дистанционного управления. Команда Green пыталась найти средство, с помощью которого можно было бы установить взаимодействие между этими устройствами. Вскоре стало ясно, что такие электроприборы, как видеомагнитофоны, проигрыватели лазерных дисков, стереосистемы - все они были реализованы на разных процессорах. Это означало, что если производитель захочет добавить телевизору или видеомагнитофону дополнительные функции или характеристики, он будет зажат в рамках средств, зашитых в аппаратное обеспечение. Эта проблема, в сочетании с ограниченностью памяти микросхем этих устройств, выдвинула новый подход к программированию ПО, который должен был стать ведущим на рынке бытовой электроники. Команда приступила к разработке нового объектно-ориентированного языка программирования, который был назван Oak (дуб), в честь дерева, росшего под окном Гослинга. В1990 году команда Green имели только самое общее представление о том, что собирались делать. Соревнование с Microsoft закончилось: Голиаф уже выиграл битву за массовый рынок настольных систем. Вместо этого команда решила полностью обойти Microsoft и рынок PC одновременно, создав программную систему, которая может работать везде, даже на устройствах, которые до тех пор даже не считались компьютерами. Это означало, что система должна быть компактной и простой - полная противоположность тому, что в тот момент продавала компания Sun. "Мы хотели, чтобы компьютеры отошли на второй план, став повседневной обыденностью", сказал Нотон. "Мы считали, что третья волна компьютеризации будет направляться нуждами бытовой электроники." Общего мнения, задавшего начальное направление работ группы, удалось достичь весной 1991 года, когда высшее руководство Sun собралось на ежегодную встречу в узком кругу. Гослинг, Шеридан и Наутон, теперь вместе с Эдом Франком, одним из лучших инженеров-электронщиков Sun, принимали ванны и пили пиво. Гослинг заметил, что микропроцессоры встречаются в тостерах, видеомагнитофонах и многих других домашних приборах, даже в дверных ручках комнат лыжных домиков. "Уж если они есть в дурацких дверных ручках, тогда они просто вездесущие", сказал он. Целых три пульта дистанционного управления были нужны только для того, чтобы заставить работать вместе домашние телевизор, видеомагнитофон и аудиосистему. И запрограммировать их толком никто не умеет. Процессоры есть везде, не используются они совершенно бездарно. Гослинг настаивал, что "если применить немножко теории, все эти штуки будут работать совместно". Он предложил, чтобы обыкновенный выключатель света, снабженный жидкокристаллическим дисплеем и сенсорной клавиатурой, мог показывать небольшие фильмы о том, чем и как он управляет. Любое устройство управления может иметь возможности мультимедиа, а эти возможности помогут людям делать настоящие хорошие вещи. И вот там, в горячей ванне, команда Green решила построить прототип устройства, управляющего всей потребительской электроникой. В апреле 1991 года команда переехала из городка Sun в офисное помещение над филиалом Bank of America на Сэнд-Хилл Роуд в Менло-Парке, отрезав себя от внутренней компьютерной сети Sun. Центр большой комнаты они освободили под лабораторные стенды и столы, холодильник забили мороженым и кока-колой, после чего стали проводить часы за игрой в "Нинтендо" - чтобы лучше понять секрет завораживающе привлекательных интерфейсов пользователя. Вопросы бизнеса были отложены подальше, чтобы дать техническим идеям место для созревания. Задача была сформулирована в бизнес-плане, который члены команды называли "За зеленой дверью": "Разработать и лицензировать операционную среду для устройств бытовой электроники, позволяющую убедительно представлять услуги и информацию посредством возникающей цифровой инфраструктуры".
Основные озарения по созданию программного обеспечения для работы на таких устройствах посетили Гослинга на концерте братьев Дуби. Сидя ссутулившись в первом ряду и купаясь в волнах музыки, Гослинг глянул вверх на провода, динамики и полуавтоматические огни, танцующие под звуки музыки. "И я увидел, как бегут по проводам воображаемые пакеты, управляющие всем этим представлением", вспоминает Гослинг. Гослинг быстро понял, что существующие языки не годятся для этой работы. Язык C++ стал почти стандартом для программистов, строящих специальные приложения, где быстродействие решает все - например, системы CAD, в которых успех определяется числом сгенерированных за секунду прямоугольников. Но для задуманных Гослингом целей язык C++ не был достаточно надежным. Построенные приложения работали быстро, но интерфейс был неудовлетворителен, и программы продолжали сбоить. А в задачах управления бытовой электроникой надежность важнее скорости. Программные интерфейсы должны быть надежны, как вилка для стенной розетки. "И я пришел к заключению, что мне нужен язык программирования", говорит Гослинг.
Когда это стало ясно, то Гослинг начал работу над заменой языка C++ в домашнем хозяйстве. Весь процесс "от начальных беспомощных ругательств и до продукта разумной степени законченности" занял, как утверждает Гослинг, всего несколько месяцев. Тем временем Нотон работал над графической анимацией, которая должна была послужить интерфейсом устройства. В августе 1991 года у Гослинга уже была графика, работающая в его новом языке, который он назвал Oak (дуб) в честь дерева, видного из окна его офиса. Этот язык впоследствии был переименован в Java. Теперь уже команду проекта Green захватила задача построить устройство, которое работало бы как интерфейс к киберпространству. Целью являлось построение визуального интерфейса к виртуальному миру. Человек, который хочет записать телевизионную передачу на видео, находясь вне дома, мог бы управлять своим видеомагнитофоном как виртуальным видео в виртуальном мире, который разрабатывал Нотон. Этот виртуальный мир - цветной и трехмерный - был написан на языке Oak и стилизован художниками. В августе 1992 года МакНили показали демо-версию устройства. Он увидел помещающееся в руке устройство с маленьким экраном без кнопок. Коснулся экрана - и оно включилось. Класс! Открывался мир мультфильма - без меню! Персонаж по имению Дьюк - бесенок с заячьими зубами и красным носом вел пользователя по комнатам мультипликационного дома. Управлять можно было пальцем - без мыши! Проводя пальцем по экрану, можно было, лежа на диване, вызвать виртуального гида, выбрать программу, перетащить ее в рисунок, изображающий видеомагнитофон, и запрограммировать видео на запись программы. Это было еще изящней, чем планировалось сначала. Все делалось без клавиатуры - просто подхватываешь объекты пальцем и с характерным звуком отпускаешь. Босс компании Sun пришел в экстаз. В то время не было ничего похожего на такой плавный и естественный интерфейс. И ничего похожего на Oak. МакНили разразился суперэнергичным электронным письмом: "Эта штука - прорыв. Теперь не подведите меня. Нам нужно этого щенка продать как следует, и у вас еще горы работы, чтобы это стало реальным. Вы сделаете - мы победим. Мы продадим это. Мы убьем HP, IBM, Microsoft и Apple одним ударом". Но команда Green не только положила на стол прототип. И Oak - это было больше, чем мультики. Это должен был быть индустриальной силы объектно-ориентированный язык с возможностью сильно распределенной по сети работы. Небольшие пакеты кода (объекты) носятся по сети, независимо функционируя на тех устройствах, где они оказываются (будь то компьютер, телефон или тостер). Целые приложения, как, скажем, программа работы с электронной почтой, могут быть построены сшиванием таких объектов модульным образом - и объекты не обязаны при этом находиться в одном и том же месте. А кроме того, язык Oak, работая с распределенной вычислительной средой, содержит в своем ядре процедуры защиты, шифрования и аутентификации, так что, в сущности, система безопасности пользователям не видна. Во время демонстрации Нотон то и дело рисовал на экране область действия языка Oak, заполняя пустую белизну экрана линиями, соединяющими домашний компьютер с автомобилем, с телевизором, с телефоном, с банком - с чем угодно. Oak был предназначен стать родным языком сети любых цифровых устройств. Вскоре компания Sun Microsystems преобразовала команду Green в компанию First Person. Новая компания обладала интереснейшей концепцией, но не могла найти ей подходящего применения. После ряда неудач неожиданно ситуация для компании резко изменилась: был анонсирован Mosaic - так родился World Wide Web, с которого началось бурное развитие Internet. В декабре 1994 года Oak был помещен в секретном файле в глубины Internet; только немногим избранным указали, как его найти, и пригласили проверить. Через три месяца копию получил Марк Андреессен, который продолжал запускать Netscape у Джима Кларка. Андреессен в интервью газете "Сан-Хосе Меркьюри Ньюс" дал такую оценку: "то, что делают эти ребята, абсолютно и неопровержимо ново. Это классная штука". Вот так команда Green узнала, что у нее, у конце концов, работа получилась. Как заметила Полиз: "этой фразой бог Internet благословил нас". В январе 1995 года новая, написанная Гослингом версия Oak была наречена более привлекательным именем Java. Работа Нотона вылилась в навигатор Web и впоследствии получила имя HotJava. Скелет этого приложения Нотон написал всего за пару выходных. Следуя указаниям Джоя, они намеревались сделать его бесплатно доступным на Web.
Дальше начинается сегодня, которое уже не история. Сегодня интерпретатор Java работает более чем на десятке различных платформ, главная из которых Windows. Компания Sun Microsystems выделила подразделение JavaSoft и объявила о выпуске специализированных java-чипов подразделением Sun Microelectornics. В Internet бесплатно раздаются средства разработки на Java нескольких производителей, множество компаний лицензировали Java. Microsoft лицензировала Java для использования в своих сетевых программах, движимая напором Internet. Novell лицензировал Java для борьбы с Microsoft Windows NT. Навигаторы Opera, FireFox и Internet Explorer серьезнейшим образом конкурируют и поддержка Java является здесь важнейшим аргументом. Множество компаний, даже такая, как Oracle, собрались выпускать Интернет-терминалы, использующие Java в качестве базовой технологии. Java не сходит со страниц газет, миллионы людей учатся программировать на ней. Да что там, чтобы понять масштабы этого стихийного бедствия, достаточно открыть глаза. Но это уже не история, точнее это другая история. Проект Java, его трудная история и громкий успех, показывают, как надо жить в компьютерном бизнесе. Отчетливейшим образом видно, какую непревзойденную роль играет сегодня открытость технологии. Требования, предъявлявшиеся к ДУ от мясорубки, оказались ровно теми же, что предъявляются сегодня к сетевым устройствам. Как учил еще Декарт почти четыреста лет назад в своем четвертом правиле метода, чтобы что-то сделать хорошо, надо делать это правильно, рассмотрев предварительно проблему со всех точек зрения, представив себе все возможные варианты и позиции. Человек и мир не изменились - команда Green отвлеклась от компьютеров как таковых, задумавшись о бытовой технике, и результат ее усилий покорил мир все тех же компьютеров. Все возвращается на круги своя и очень скоро мы будем управлять холодильниками так же легко, как сегодня читаем новости в просторах Web.
|