Why Java is HOT: к 30-и летию Java

Вместо введения

...
Новый революционный инструмент программирования от Sun может изменить баланс сил в компьютерной индустрии
— Philip Elmer-Dewitt
У компании Sun Microsystems была проблема. Один из её самых талантливых разработчиков создал новый язык программирования под названием Oak, который, казалось, никому не был нужен. Изначально разработанный под ПО для управления микросхемами в микроволновых печах и других современных бытовых устройствах, язык за последние пять лет несколько раз перерабатывался — для кабельных ТВ-приставок, игровых консолей и CD-проигрывателей. Но каждый раз, когда казалось, что Oak наконец-то нашел свою нишу, сделка по каким-то причинам срывалась.
Даже его название стало проблемой: его нельзя было зарегистрировать как товарный знак, потому что сотни компаний уже использовали это имя. В итоге Sun решила, что лучшее, что можно сделать для Oak, — дать ему новое имя и распространять бесплатно. Так язык получил название Java (жаргонное слово для кофе, отсылающее к временам, когда лучшие сорта выращивали в Индонезии, а не в Сиэтле) и стал доступен в Интернете безвозмездно.
Звёзды Java: программист Джеймс Гослинг создал Java; инженер Артур ван Хофф доказал её мощь, написав на Java её же интерпретатор; гениальный маркетолог Ким Полиз руководила компанией по распространению языка, добившись быстрого признания благодаря бесплатной модели использования.
Семь месяцев спустя, ко всеобщему удивлению, включая Sun, Java стала самой популярной технологией в киберпространстве. Более 100 000 ее копий скачали разработчики, жаждущие опробовать язык, который обещал передавать программы по сети так же легко, как электронную почту или изображения.
Сотни небольших Java-приложений (названных «апплетами») начали появляться во Всемирной паутине. На одном сайте собрано более 700 рабочих апплетов — от анимированных танцующих персонажей и дымящихся чашек кофе до клонов игр вроде Pac-Man и Missile Command. Крупные интернет-площадки, включая e|net и Pathfinder от Time Warner, используют Java-апплеты для отображения в реальном времени бегущих строк с новостями.
Но Java — больше, чем просто способ оживить веб-страницы. Новостные ленты и анимация — лишь вершина ее возможностей. Хотя сегодня Java интересна в основном программистам, в ближайшие годы она может перевернуть всю компьютерную индустрию, изменив не только стоимость и форму компьютеров, но и саму концепцию того, каким должен быть компьютер.
С Java данные и программы — два столпа вычислительной техники — больше не нужно хранить на вашем компьютере. Они могут находиться где угодно в Интернете, и быть доступными в любой момент для всех, кто в них нуждается. Это достижение может наконец воплотить в жизнь загадочный слоган Sun: «Сеть — это компьютер».
«Каждые 10–15 лет происходит смена парадигмы, — говорит Марк Андреессен, пионер веба и сооснователь Netscape. — И мы сейчас как раз живем в такое время перемен».

Marc Andreessen
Co-founding of Netscape
Ключевая особенность Java — её способность работать одинаково легко на разных операционных системах: Windows 95, Macintosh и различных версиях Unix. Java создаёт так называемую «виртуальную Java-машину» внутри каждой из этих систем, решая раздражающую проблему, преследующую программистов с зарождения компьютерной эры — несовместимость. Именно из-за несовместимости программа, написанная для Windows, не работает на Mac, и наоборот.
«Java уравнивает возможности, — говорит Скотт Макнили, председатель Sun. — Вы пишете программу один раз, и она работает везде. Он добавляет с намёком: Это может сильно усложнить жизнь некоторым крупным компаниям-разработчикам ПО».

Scott McNealy
CEO Sun
Никому в компьютерной индустрии или на Уолл-стрит не нужно объяснять, какую компанию Макнили имеет в виду. Microsoft, как крупнейший в мире производитель ПО для ПК, рискует больше всех, если новый, независимый от него язык программирования завоюет популярность. Microsoft контролирует не только ОС для 80% настольных компьютеров, но и рынок ПО — от прикладных программ (текстовых процессоров, электронных таблиц, энциклопедий) до языков программирования и широкого спектра инструментов программирования. Всё это окажется под угрозой, если Java получит широкое распространение.
«Java, — заявил председатель совета директоров Microsoft Билл Гейтс в прошлом месяце, — существует для того, чтобы разрушить то, что мы создали».

Bill Gates
Co-founding of MS
Для многих программистов, которые всегда ищут «новую платформу» для создания популярного ПО, это не обязательно плохо.
Виртуальная Java-машина, по словам сооснователя Sun Билла Джоя, — «самая легковесная платформа из всех существующих: она состоит не из металла и кремния, а из нескольких тысяч строк кода».

Bill Joy
co-founder of Sun
«Гики в восторге, — говорит Дейв Вайнер, программист из Кремниевой долины. — Как будто перед нами открылся целый новый мир».
Энтузиазм таких людей, как Вайнер, критически важен. Миллионы, которые Microsoft потратила на продвижение Windows 95 прошлым летом, были направлены не только на пользователей, но и на разработчиков. Ни одна компания, даже Microsoft, не может создать всё необходимое ПО в одиночку, поэтому производители компьютеров вечно борются за сердца и умы программистов.
Одно из самых жарких сражений последних месяцев разгорелось вокруг веб-браузеров, где соревнуются Microsoft, Netscape и Sun. Кульминация наступила в первую неделю декабря, когда Sun и Microsoft провели независимые пресс-конференции. Sun выступила первой, объявив длинный список компаний, которые согласились внедрить Java в свои продукты, включая IBM, Apple, DEC, Adobe, HP, Oracle и Toshiba.
Все ожидали, что Microsoft нанесет ответный удар, подтвердив намерения в продвижении своего аналога Java — языка Visual Basic. Но в последнюю минуту Гейтс передумал, объявив, что он тоже будет лицензировать Java, а также несколько угрожающе пообещав «расширить» его.
Это был мастерский ход, позволивший Microsoft прикрыться Java и в то же время проколоть чрезмерно раздутый пузырь акций Netscape. Рынок отреагировал бурно. Цена акций Sun резко подскочила; Netscape упала за день более чем на 28 долларов (18%).
Основатель Netscape Марк Андреессен воспринял выход Microsoft на рынок как вызов.
«Когда сражаются медведь и аллигатор, — заявил он, — победителя определяет местность. Microsoft просто пришла на нашу территорию».

Marc Andreessen
Co-founding of Netscape
В Microsoft отмахнулись от таких заявлений, назвав их бравадой. «Поддержка Java — это как пупок: она будет у всех», — говорит Роджер Хайнен, вице-президент Microsoft по работе с разработчиками.
Но создание «пупков» не было целью Джеймса Гослинга в 1990 году, когда он начал работать над языком Oak (названным в честь дерева за окном его офиса). Как опытный программист, он хотел, чтобы микропроцессоры в бытовой технике (телевизорах, видеомагнитофонах, автомобильных сигнализациях) могли «общаться» друг с другом. Для этого требовался код, который был бы не только компактным, но и с защитой от «дурака» — в отличие от пользователей ПК, обычные пользователи не ожидают, что их тостеры будут зависать.
По мере того как Oak, или, точнее, Java, претерпевал многочисленные изменения, некоторые принципы оставались незыблемыми. Это должен был быть полностью современный язык программирования, воплощающий все основные достижения в теории программирования последней четверти века. Он должен был быть объектно-ориентированным, заставляя программистов писать небольшие и самодостаточные модули, которые можно соединять друг с другом, как блоки Lego. Он должен был быть надежным, то есть устойчивым к сбоям, обходясь без многих стандартных инструментов программирования, которые дают разработчикам гибкость, но могут приводить к непредсказуемым результатам.
Наконец, он должен был быть безопасным — даже во враждебной среде интернета, кишащей хакерами и вирусами. Прежде чем выполнить любую строку кода, Java проверяет, является ли команда допустимой, чтобы убедиться, что программа не была изменена.
При всех своих достоинствах Java могла бы остаться незамеченной, как и полдюжины других современных языков, если бы не новаторский способ её распространения, выбранный Sun. Увидев, как Netscape захватила 70% рынка веб-браузеров, просто раздавая своё ПО бесплатно, Sun использовала ту же «партизанскую» тактику: выпустила скромный пресс-релиз, позволив сарафанному радио в интернете сделать всё остальное.
Это был знакомый приём для Билла Джоя из Sun, который ещё в начале 1980-х способствовал развитию интернета, поставляя бесплатное ПО для интернет-протоколов с каждым компьютером Sun.
«Мы знали: если выложить Java в сеть, она найдёт все щели и распространится повсюду», — говорит он.

Bill Joy
co-founder of Sun
Конечно, Sun ожидает, что её «партизанский» подход в конечном итоге принесёт прибыль. Более половины интернет-серверов — это машины Sun; всё, что увеличивает интернет-трафик (а Java определённо увеличит), неизбежно принесет доходы.
Еще более интересным с коммерческой точки зрения является так называемый интранет — внутренние корпоративные сети, — который и Sun, и Microsoft рассматривают как перспективное направление для роста.
Чтобы опередить главного конкурента, Sun на прошлой неделе создала новое подразделение JavaSoft под руководством Алана Барца, бывшего топ-менеджера IBM и президента Delphi Internet Services Corp. Руперта Мердока, для продвижения Java как в быстрорастущем интернете, так и в значительно более прибыльных интранетах.
Ничто из этого не является гарантией успеха. Несмотря на первоначальный энтузиазм, Java предстоит трудная борьба за признание. Она работает медленнее традиционных языков, а библиотеки, упрощающие работу программистов, всё ещё находятся в разработке. Однако Java предлагает потенциальным авторами ПО то, чего не может ни одна другая среда разработки: возможность полностью обойти конкурентов в индустрии программного обеспечения.
«Эти невероятно талантливые Марки Андреессены будут ночами уплетать Twinkies, пить Jolt и писать на Java, — предсказывает Макнили из Sun. — Потом выложат что-то в Сеть, и — бац! — сработает сарафанное радио!»

Scott McNealy
CEO Sun
Главная хитрость, которую освоила Microsoft, но не Sun и Netscape, — найти способ заработать на этом.

— Дэвид С. Джексон, Сан-Франциско

Технологии. Насколько дёшевыми могут стать компьютеры?

Среди самых горячих сторонников Java — небольшая, но влиятельная группа ИТ-руководителей, увидевших в этом языке программирования прорывной потенциал. Они убеждены, что с его помощью нынешние мощные и сложные настольные компьютеры можно заменить гораздо более простыми и существенно более дешёвыми устройствами.
Идея проста. Вместо того чтобы покупать всё более вместительные жёсткие диски для хранения программ, которые с каждым обновлением становятся всё прожорливее, почему бы не сделать Интернет вашим хранилищем? Всемирная паутина содержит больше данных, чем вам когда-либо понадобится. Теоретически Java может загружать любое необходимое программное обеспечение прямо по запросу. Вашему компьютеру потребуется лишь быстрый процессор, надёжное интернет-подключение и несколько базовых программ для работы с электронной почтой и текстами.
«Если цена будет подходящей, — предсказывает Ларри Эллисон, глава корпорации Oracle и один из главных сторонников этой концепции, — такие устройства появятся у каждого».

Scott McNealy
CEO Sun
Чтобы проверить свою теорию, Эллисон поручил британской компьютерной компании Acorn разработать "сетевой компьютер" по его спецификациям — устройство с клавиатурой, процессором, оперативной памятью, модулем связи и практически ничем больше. Тем временем практически все крупные производители компьютеров, от Apple до IBM, заявляют о работе над аналогичными проектами. Sun совместно с японской Fujitsu создает устройство, которое (что неудивительно) называют "Java-терминалом".
Сколько же будут стоить эти малыши? Всё зависит от того, кого спросить. Чаще всего называют цену в 500 долларов — такую цифру озвучивал и Эллисон, и другие. В Sun настроены менее оптимистично: представители компании предполагают, что их крутые маленькие Java-приставки будут продаваться по цене от 500 до 1000 долларов.
При такой цене не совсем понятно, какую именно аудиторию смогут привлечь эти новые устройства. Ведь за $1500 на послерождественских распродажах можно приобрести компьютер с Windows или Macintosh, который предлагает множество предустановленных программ и сотни мегабайт памяти, а также возможность выхода в интернет. К тому же, даже при отсутствии подключения к Сети такие компьютеры остаются функциональными.
Для ветеранов IT-индустрии концепция упрощённого настольного компьютера вызывает ассоциации с эпохой громоздких мейнфреймов, когда все данные и программы хранились на мощных централизованных машинах, а пользователи работали с «тупыми» терминалами, практически лишёнными собственной памяти и вычислительной мощности.
Сегодня доминирующей парадигмой является клиент-серверная модель: данные могут храниться на крупных файловых серверах, но программы выполняются на полноценных настольных компьютерах. На протяжении десятилетий маятник индустрии колеблется между децентрализованными рабочими станциями и централизованными вычислениями. В этом свете идея компьютера за 500 долларов оказывается не такой уж новой.
Тем не менее идея предельно упрощённого интернет-устройства обладает неоспоримой привлекательностью. Недорогой "народный компьютер" мог бы дать доступ в сеть миллионам людей, для которых современные ПК остаются недоступными, открывая перед ними новые возможности. Эти компактные устройства можно было бы легко разместить в телефонных будках, спинках самолётных кресел и других общественных местах, обеспечив повсеместный доступ в интернет.
Однако, один из уроков последнего десятилетия — когда технологии развивались рывками, сопровождаясь чрезмерной шумихой — заключается в том, что гениальные идеи далеко не всегда воплощаются в успешные продукты. Компьютер за $500 звучит заманчиво, но, как и искусственный интеллект с его обещаниями или пресловутое 500-канальное телевидение, он, возможно, на шаг опережает реальность.

— Джошуа Купер Рамос. При участии Дэвида С. Джексона, Сан-Франциско

Переводчик: Чимаев Максим
Оцените статью, если она вам понравилась!