Почему 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-приложения работают очень быстро.