ОКНО ДИАЛОГА: Желуди марки «Java»
ОКНО ДИАЛОГА: Желуди марки «Java»
В начале сентября в санкт-петербуржской гостинице «Пулковская» компания 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 начинает работать сразу.
Большое спасибо за интервью. Надеюсь, вы заглянете в ближайшее время и к нам в Москву.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
окно диалога: Неубийца GPS
окно диалога: Неубийца GPS Неубийца GPSАвтор: Александр БумагинОпубликовано в журнале "Компьютерра" N27-28 от 22 июля 2008 годаПо Интернету ползут слухи о новом российском сервисе, основанном на Google Maps. Якобы авторы проекта Wi2Geo предлагают еще одну возможность для определения
ОКНО ДИАЛОГА: До-Ре-Ми
ОКНО ДИАЛОГА: До-Ре-Ми Представители Microsoft предлагали нам пообщаться со студенческими командами Team Inspiration и MaiLabs еще в июле, перед поездкой на финал технологического конкурса Imagine Cup в Иокогаму. Подумав, мы решили отложить интервью до тех времен, когда российская команда
ОКНО ДИАЛОГА: Люди говорят
ОКНО ДИАЛОГА: Люди говорят Подкастинг - это технически довольно простая штука. Это синтез двух технологий: mp3 и RSS. Конечно, записывать звуковые файлы в mp3 можно было и раньше. Выкладывать их в Интернет - тоже. Однако благодаря RSS автоматизируется процесс закачки файлов на
ОКНО ДИАЛОГА: Многоликий Photoshop
ОКНО ДИАЛОГА: Многоликий Photoshop Автор: Родион НасакинВ конце марта компания Adobe провела в Москве пресс-конференцию, посвященную мировому релизу пакета Creative Suite 3 (подробнее об этом мы писали в «КТ» #682) и своим планам в России.На мероприятии присутствовал ряд топ-менеджеров
ОКНО ДИАЛОГА: Почтовых дел мастер
ОКНО ДИАЛОГА: Почтовых дел мастер Автор: Илья Щуров VoyagerМы не знаем, кем станут наши дети, когда вырастут, как сложится их судьба, какие открытия они совершат, какого прогресса достигнут. Многие проекты, в том числе и софтверные, для их создателей тоже являются «детьми» –
ОКНО ДИАЛОГА: Саморост
ОКНО ДИАЛОГА: Саморост Автор: Владимир ГуриевРазработчики компьютерных игр — очень интересные люди. Вот вы, например, можете себе представить, что хорошие продажи и приток денег в индустрию — отрицательный фактор? Между тем, последние несколько лет в сообществе
ОКНО ДИАЛОГА: Поднимая Maya
ОКНО ДИАЛОГА: Поднимая Maya Автор: Владимир ГуриевСергею Цыпцыну с нами не повезло. Будь он совершенно неизвестным редакции персонажем, мы бы давно взяли у него интервью. Но Сергей сначала написал для нас репортаж с SIGGRAPH («КТ» #605), потом пригласил на CG Event #1 («КТ» #654), затем
ОКНО ДИАЛОГА: Запасной ресурс
ОКНО ДИАЛОГА: Запасной ресурс Автор: Константин КурбатовНовенький наемный «мерседес» увозит ранним утром директора одной из западных компаний на работу — это аутсорсинг. Большая, совсем не ароматная машина, заезжающая во дворик забирать мусор, — это тоже аутсорсинг. И
ОКНО ДИАЛОГА: Ян из Sun
ОКНО ДИАЛОГА: Ян из Sun Автор: Илья Щуров VoyagerВ один прекрасный день отец Яна Мёрдока сменил свою пишущую машинку на компьютер Apple II, который захватил воображение будущего основателя легендарного Linux-дистрибутива. Увлечение компьютерными играми прошло вместе с детством,
ОКНО ДИАЛОГА: Коршун и маячки
ОКНО ДИАЛОГА: Коршун и маячки Хоть «КТ» и российский компьютерный журнал, об отечественных компаниях мы, к сожалению, пишем не часто. По нескольким причинам: и рынок у нас немножко отстает, и сами компании заняты главным образом перепродажей чужих решений (что вполне
ОКНО ДИАЛОГА: Номер на всю жизнь
ОКНО ДИАЛОГА: Номер на всю жизнь Ежедневно миллионы москвичей поднимают телефонную трубку и слышат привычный гудок, не меняющийся на протяжении многих десятков лет. Однако с «другой стороны» этого гудка идут активные изменения. Не секрет, что во всем мире развитие
ОКНО ДИАЛОГА: Агент 500 000
ОКНО ДИАЛОГА: Агент 500 000 В конце ноября мы снова встретились с Дмитрием Гришиным, генеральным директором интернет-холдинга Mail.Ru, чтобы поговорить о новых инициативах компании на отечественном рынке. Ваши коллеги по бизнесу адаптируют под себя знаменитые
ОКНО ДИАЛОГА: Бюджет - это не главное…
ОКНО ДИАЛОГА: Бюджет - это не главное… Ожидая пропуска в фойе «Центрнаучфильма», я скучающе оглядывал пустой холл. Никакого оптимизма он не внушал.Чуть позже, проходя мимо огромных студий, в одной из которых под яркими софитами стояла новая «Хонда», я понял, что все не так
ОКНО ДИАЛОГА: Мышиный король
ОКНО ДИАЛОГА: Мышиный король Автор: Сергей ВильяновДевятнадцатого сентября Россию впервые посетил Даниэль Борель, основатель и председатель совета директоров компании Logitech. Нам удалось побеседовать с человеком, продукты компании которого ежедневно вертят в руках
ОКНО ДИАЛОГА: Человек из Парфенона
ОКНО ДИАЛОГА: Человек из Парфенона Автор: Степанищев СергейВ январе известные журналисты Дмитрий Дибров и Лев Новожёнов запустили "портал для интеллектуалов" top4top. Несмотря на то что у термина "портал", очевидно, плохая карма, к делу подошли с размахом: только в редакцию,