Rambler's Top100
 
 
  03 декабря 2008 года Компьюлента
CIO
Терралаб
Бизнес-журнал
в поле зрения | обзоры и тесты | своя игра | интерактив
Желуди марки "Java"
Автор: Константин Курбатов
Опубликовано в журнале "Компьютерра" №34 от 22 сентября 2005 года

В начале сентября в санкт-петербуржской гостинице «Пулковская» компания Sun Microsystems провела конференцию для Java-разработчиков.
И в качестве сливок к крепкому кофейному напитку разработчики получили доклад главного идеолога языка Java.
Джеймс Гослинг (James Gosling) — личность воистину легендарная. Он стоял у самых истоков проекта «Oak», который позднее был переименован в «Java». Разговаривая накануне с коллегами-журналистами, я получил следующее описание Джеймса: «А-а-а, это такой крупный человек, который всегда носит безразмерную майку и ест сосиски руками…»
Могу заявить — сосиски он ел вилкой, а майка на нем была по размеру. По его очень большому размеру.
В интервью с Джеймсом приняла участие Анна Барски[Anya Barski — Анна закончила Санкт-Петербургский технический университет, а затем переехала в «Кремниевую Долину», где, поработав в одном из стартапов, перешла в Sun], возглавляющая
Санкт-Петербургский
центр разработки Sun.

Вас наверняка тысячу раз об этом спрашивали, но все же: почему — Java?

Д.Г.: Ну, должны же мы были как-то его назвать?! Нет, это не аббревиатура, название выбрано наугад. В 1990 году мы начали проект, целью которого было вовлечение неспециалистов в компьютерные технологии. Тогда речь еще не шла о всемирной сети Интернет, мы искали возможности применения цифровых технологий в различных областях потребительского рынка, в частности в сетях кабельного телевидения. И, столкнувшись с проблемой подключения абсолютно разных устройств, я начал искать язык, на котором можно было бы писать для них программы. Но чем дальше, тем становилось яснее, что ни один из существовавших языков не отвечал требованиям универсальности и простоты освоения. Тогда появилась идея создать новый язык. Сначала я назвал его Oak — «Дуб» (за окном нашего тогдашнего офиса рос красивый дуб). Но перед регистрацией этого названия была проведена экспертиза, и наши юристы обнаружили, что оно уже занято. Тогда мы устроили многочасовой мозговой штурм. Все предложения были аккуратно записаны в столбик на бумажку и переданы юристам. Они поочередно проверяли их, и первым незанятым названием из списка оказалась любимая нами марка кофе «Java». В общем, как всегда, все решили юристы[Мне встречалась и другая версия. Якобы название языка составлено из первых букв имен главных участников проекта: James Gosling, Arthur Van Рoff, Andy Bechtolsheim].

Почему Java стала вездесущей, ведь Sun — частная корпорация?

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

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

А.Б.: В России очень хорошие кадры. И у нас очень хорошие рекрутеры. В общем, я не могу сказать, что мы испытываем трудности с поиском людей. Да, конечно, иногда приходится интервьюировать до пятнадцати человек на некоторые позиции, но когда нужно, мы всегда находим человека. Мы надеемся к июню будущего года (у нашей компании финансовый год заканчивается именно в июне) довести количество работников до 400–500. Главные направления — это инструментарий разработчика: Java Studio Enterprise, Jini и т. п.

Кстати, мы работаем и с вузами: студенты проходят у нас практику, даже участвуют в проектах. Мы также планируем участвовать в учебном процессе — читать лекции, проводить конкурсы…

Многие ваши сотрудники ведут общедоступные блоги, это помогает или мешает работе компании?

Д.Г.: Хех, мы же открытая компания. Как людям удобнее, так пусть и поступают: нередко это оказывается очень хорошим способом для обсуждения тех или иных технических вопросов. Единственные, может, требования к сотрудникам — это чтобы не было ничего противозаконного и не раскрывались корпоративные секреты. Но у нас секретов мало.

Может быть, провокационный вопрос: а кто ваши конкуренты?

Д.Г.: Тут нельзя ответить однозначно. Если речь идет о Java, то, может, в некоторых областях — .NET. Если об инструментарии, то, пожалуй, IBM и Microsoft. Если же об аппаратуре — я бы назвал HP, IBM, Dell.

А.Б.: Хочу добавить: меня, как ни странно, порадовало бы, если б в России открыла свой центр разработки компания Google. Там тоже высоко ценят инженерный талант. Для нас это было бы важным знаком, к тому же очень интересно взглянуть на динамику развития рынка в такой ситуации…

Не боитесь, что они уведут ваших разработчиков?

А.Б.: Да нет, каждый выбирает ту атмосферу, в которой ему лучше работать, у нас она уникальная — вряд ли уйдут. Разработчики смогут выбирать между той или иной идеологией управления.

А что желают ваши клиенты? Что их сейчас волнует?

Д.Г.: Клиентам нужно все! Я бы выделил масштабируемость, надежность и облегчение последующей разработки приложений. Еще в фаворе совместимость с продуктами Microsoft (в первую очередь на основе .NET и веб-сервисов).

А можно использовать и то и другое, или лучше выбрать что-то одно?

Д.Г.: Можно серверную часть сделать на Java, клиенты — на .NET, но мое личное мнение — что смешивать не надо, это всегда хуже управляется.

А какие, на ваш взгляд, недостатки есть у технологии .NET?

Д.Г.: О, это нетрудно. Из основных — плохая производительность в крупных системах; технология не реализована ни в Linux, ни в системах Apple, ни в таких устройствах, как смартфоны. Это решение одного производителя, так что вы вынуждены рассчитывать только на одного поставщика. Вы не можете сравнить конкурирующие продукты и выбрать лучший. Решения же на основе Java предлагает множество компаний, и вы всегда можете остановиться на том, которое вам нужно, и за те деньги, которые вас устраивают. Для примера могу привести конкурирующие решения от IBM и Oracle.

Вы раньше сотрудничали с компанией Microsoft. Сейчас у вас есть какие-либо совместные проекты?

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

Сейчас активно обсуждается тема безопасности. Особенно пользователей беспокоит ситуация со смартфонами. Вы хорошо знаете историю с SymbianOS и вирусами для нее…

Д.Г.: Java — абсолютно безопасный и защищенный язык. У него нет проблем с безопасностью. Эти вирусы эксплуатируют вовсе не слабости языка Java, а ошибки в конкретной реализации протокола Bluetooth. Кстати, мы наняли разработчика вирусов для этой системы. Очень умный и хороший программист.

А как же проблемы с совместимостью? Ведь не секрет, что скачанное из Интернета для веб-браузера я не могу запустить на телефоне, а игры с телефона бесполезно запускать на, к примеру, КПК…

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

Увеличение абстракции языка программирования повышает требования к аппаратному обеспечению. Чем легче программисту, тем труднее конечному пользователю: ему приходится постоянно обновлять аппаратное обеспечение. Не приведет ли дальнейшее развитие языка Java к такой «гонке вооружений»?

Д.Г.: Да, это проблема Java. И все же если сравнивать производительность с программами на C и C++, то Java нередко выигрывает. Особенно в системах хранения данных. В этих языках дорого обходится независимость от аппаратного обеспечения. Когда мы говорим про продукты на С и С++, оптимизация нужна. Особенно для нестандартных процессоров. У Java же нет необходимости модифицировать саму программу. Она будет работать везде, где реализована виртуальная Java-машина (JVM). Достаточно один раз хорошо сделать (строго следуя спецификациям) JVM, и у вас будет работать любое программное обеспечение, иногда даже быстрее ассемблерного кода, написанного неспециалистом. Компилятор конкретной виртуальной машины уже оптимизирован профессионалами под ту платформу, на которой она реализована. Поэтому Java-приложения работают очень быстро.

Вы сказали — компилятор, то есть здесь как бы двухэтапная компиляция?

Д.Г.: Да, технология даже состоит, скорее, из трех этапов: в среде разработки пишется программа на Java, вы отлаживаете ее там и встроенным компилятором получаете универсальный байт-код. Затем вы этот код можете запустить на любой виртуальной машине, где он будет оптимально откомпилирован под конкретный процессор.

Ну хорошо, давайте поговорим об OpenSolaris[opensolaris.org/os. Суть проекта — в открытии исходных кодов операционной системы Sun Solaris. Однако лицензия CDDL, под которой распространяется ее код, не эквивалентна лицензии GPL, хотя и имеет с нею много общих положений]. Какие надежды вы на нее возлагали и оправдались ли они?

Д.Г.: Язык Java открыт уже больше десяти лет, и это очень способствовало разработке и совершенствованию технологии. Многие проблемы были обнаружены на самой ранней стадии, и мы благодарны энтузиастам, которые помогли их исправить. Проект OpenSolaris стартовал совсем недавно, так что выводы делать рано. Мы, разумеется, ожидаем позитивный результат. Главная цель этого шага — вовлечение в совершенствование продукта наших клиентов. Мы хотим их сделать нашими партнерами.
Мы не только ждем развития Solaris от сторонних разработчиков, в других системах уже появляются и наши решения. Например, утилита DTrace, которой мы по праву гордимся, портирована во FreeBSD.

Не планируете ли вы выйти с Solaris на рынок конечных пользователей?

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

Участвует ли Sun в государственных программах, включая такие неоднозначные, как Digital Passport?

Д.Г.: Да, мы участвуем во множестве различных государственных программ. Наиболее тесно компания сотрудничает с государственными учреждениями Бразилии. Там уже работают наши решения в системе здравоохранения и в налоговой службе.
А.Б.: Насколько я знаю, в России Sun не работает напрямую с клиентами, но наши партнеры участвуют в подобных программах. Однако представителей Sun нередко приглашают на правительственные совещания для консультаций.

Java использовался в марсианском проекте, вы не расскажете подробности?

Д.Г.: В первой части проекта использовался язык Java, но только в наземном оборудовании. В самих марсоходах, которые бороздят поверхность четвертой планеты, применены другие технологии. Однако американский президент решил поскорее отправить на Марс человека, и вторая часть проекта, связанная с посылкой автоматизированных систем, приостановлена. Хотя многое уже было сделано.

Вы, конечно, знаете об ANSI C, ведь это тоже универсальный стандартизованный язык, так зачем понадобилась Java?

Д.Г.: Если писать сложные программы, особенно для очень разных платформ, то проект на основе ANSI C будет долгим и дорогим. На Java решение таких задач обходится вдвое дешевле. К тому же у Java более понятный код и проще отладка. В программе на С очень трудно искать ошибки, так как место ошибки и место ее проявления могут быть сильно разнесены в тексте программного проекта. Например, если вы ошибетесь в хедере[Часть программы на С с описаниями переменных и классов, которая может быть вынесена в отдельный файл], то выловить эту ошибку порой невероятно трудно. В Java баги так глубоко не прячутся, и обнаружить их чаще всего не составляет труда.

А почему программы на Java медленнее, чем на С или ассемблере?

Д.Г.: Я бы так не сказал. В клиент-серверных приложениях они быстрее программ на С или .NET. Откровенно говоря, разработчики нередко слишком увлекаются дополнительными сервисами и «примочками» на Java. Хорошо написанный Java-код часто работает быстрее приложений на языке C. То есть скорость во многом зависит от квалификации программиста, и мне кажется, что программист средней квалификации напишет на Java лучший код.

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

Теперь личный вопрос: как ваша общественная деятельность в должности «Джеймса Гослинга» сочетается с работой программистом?

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

Джеймс, а что для вас значит «корпоративная дисциплина»?

Д.Г. (смеется): Я не заметил никакой корпоративной дисциплины. Мне иногда кажется, что все у нас происходит хаотично и спонтанно. Наша система управления очень децентрализована, как мы шутим — «e-mail management». То есть большинство решений мы принимаем, обмениваясь сообщениями по электронной почте.

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

Вы знакомы с Ричардом Столменом[Richard M. Stallman — основатель и руководитель Free Software Foundation, известный борец за свободу программного обеспечения. Активно критиковал положения лицензии OpenSolaris]?

Д.Г.: Хм, это странное знакомство. Да, мы встречались, и я не хотел бы публично обсуждать наш разговор. Но я подал бы иск на него за нарушение интеллектуальной собственности. Не могу сказать, что мы друзья.

И напоследок такой вопрос: я знаю, что дома вы работаете за компьютером производства Apple, с чем связан ваш выбор? Почему не Sun?

Д.Г.: Потому, что Sun не делает лэптопов. Почему не PC? Потому, что они очень неудобные, а их дизайн ужасен. Когда работаешь с ноутбуком, часто открываешь и закрываешь экран. На PC, после открытия крышки, приходится ждать кучу времени, пока система снова заработает, а Powerbook начинает работать сразу.

Большое спасибо за интервью. Надеюсь, вы заглянете в ближайшее время и к нам в Москву.

ТАКЖЕ В РАЗДЕЛЕ
21 октября 2008 года
Между оперой и Opera 
26 августа 2008 года
Братство лисы 
22 июля 2008 года
Неубийца GPS 
24 июня 2008 года
Проповедник 
 
САМОЕ ПОПУЛЯРНОЕ
Нетбуки против Windows
Нетбукам нужна лёгкая операционная система. Windows Vista, определённо, такой не является. Windows XP давно морально устарела. Linux? Или всё-таки подождать выхода легковесной версии Windows 7?
Диалоги с программистами. Часть 3: iPhone и бар на пляже
Сегодня в нашем распоряжении программист, который создает код для совершенно непрограммистского устройства - iPhone. Да, здесь есть свои особенности...
Тонкости анонимного серфинга в Сети
Сегодня мы будем учиться заметать следы. Правда, не настоящие, а виртуальные, всякий раз оставляемые пользователем при работе в Интернете и с большим удовольствием потребляемые всевозможными онлайновыми сервисами.
Такие разные спутники
Александр Трухачев, директор российского представительства MIO Technology, завел свой блог на "КТ-Онлайн", чтобы рассказать об особенностях рынка потребительской электроники в России. Но для начала - о GPS и ГЛОНАСС.
/  бумажный номер

Тема номера: Кризис в ИТ Читайте на сайте тему номера "Кризис в ИТ" и другие статьи из журнала "Компьютерра" от 04 ноября 2008 года
  Архив номеров журнала

О проекте | Реклама на сайте | Рассылки сайта | КПК–версия | RSS-трансляция

© ООО «Компьютерра–Онлайн», 1997 — 2008.
При цитировании и использовании любых материалов ссылка на портал «Компьютерра–Онлайн» обязательна (для Интернет–изданий — www.computerra.ru)
Редакция сайта: site@computerra.ru
Техподдержка сайта: websupport@computerra.ru
Редакция журнала: inform@computerra.ru
Отдел рекламы: reklama@computerra.ru
Телефон: (495) 232–22–61, (495) 232–22–63
Работает на «Битрикс: Управление сайтом»
Почта защищена сервером «СПАМОРЕЗ»
Трилан — продвижение сайта,
поисковая оптимизация сайта

Сайт работает на сервере DEPO Computers
Rambler's Top100