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

   
 

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

Светлое настоящее

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

Технологии Java используются в четырех своего рода вселенных: решения масштаба предприятия, настольные системы, мобильные и встраиваемые системы и самые компактные устройства -- всевозможные смарт-карты. Мобильные и встраиваемые системы сейчас переживают очень бурное развитие. Например, в банковской среде довольно долгое время на рынок приложений для мобильных телефонов смотрели сверху вниз. Ведь там преобладают игры. Но когда он стал приносить немалый доход, то ситуация быстро изменилась.

Возможно, свою роль сыграла и недооценка того, что находится в корпусе телефона. Нынешние мобильники обладают системными ресурсами, которые 6--8 лет назад были у настольных ПК. Очень часто мобильные платформы являются многопроцессорными. К тому же можно использовать клиент-серверные технологии, благо что телефон является средством связи.
Весьма интенсивно технологии Java применяются для создания бортовых систем в авиации и автомобильной промышленности. Появляется поддержка Java и в бытовой технике, в частности, в новом поколении проигрывателей видео высокой четкости или в приставках для кабельного телевидения.

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

Иных уж нет...

Сейчас Java принимает от Паскаля эстафету языка, на котором учатся программировать. Кое-где в США языку Java начинают обучать уже в начальной школе. Изучив его, можно начинать профессиональную карьеру, Паскаль же свое значение потерял, хотя это и очень жаль.

У разных языков разные судьбы. Я сам пользовался и Алголом, и Фортраном. Алгол, например, так и не вышел на значительный уровень распространения. А вот с Фортраном ситуация диаметрально противоположная. Этот язык наиболее адекватно ответил на потребности, связанные именно с вычислениями, и потому полноценнной замены ему до сих пор не нашли.

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

Но думаю, языки программирования не умирают в полном смысле слова, они не исчезают, а передают свой "генетический код" следующему поколению. В Java можно найти кусочки, заимствованные из SmallTalk, LISP, Алгола и многих других языков. Так что самое плохое, что может случиться с Java, -- это через тридцать лет остаться такой же, как сейчас.

О роли Sun и Open Source

Не могу себе представить, чтобы Java появилась в какой-то другой компании. Sun Microsystems обладает уникальной корпоративной культурой, где практически нет формальностей в общении между сотрудниками и централизованного управления, -- там все равны, участвуют в процессе на равной основе. Как сказал несколько лет назад на одной пресс-конференции Джон Гейдж, вице-президент Sun Microsystems: "У нас нет организационной схемы, у нас есть только электронная почта".

При этом технологии Java с самого начала были открытыми. Во всяком случае все ее исходники можно было получить. Создавая Java, мы активно сотрудничали с сообществом разработчиков и пользователей, и новинки появлялись таким же образом, как это налажено в сообществах Open Source. Единственное условие, которое мы ставим для тех, кто распространяет ПО на Java, состоит в том, чтобы новые разработки были пропущены через тестовый комплекс, используемый нами для того, чтобы проконтролировать качество кода и гарантировать его переносимость.

О борьбе за соблюдение стандартов

Если говорить о соблюдении стандартов, то наш конфликт с Microsoft состоял в том, что эта компания попыталась ограничить интероперабельность своей виртуальной машины, тем самым нарушив достигнутое раннее соглашение. Код, оптимизированный под эту машину, не исполнялся на других платформах. Налицо попытка привязать пользователей к своей системе. Такие попытки всегда пресекались и будут пресекаться впредь. Однако если принцип интероперабельности соблюдается, то никаких препятствий нет. Например, у IBM по меньшей мере полдюжины виртуальных машин Java, есть свои разработки в этой области у HP и многих других компаний.

И тем не менее до сих пор существует немало разных виртуальных машин, плохо совместимых или вовсе несовместимых между собой. Речь идет прежде всего о мобильных платформах. Мы оказываем большое давление на производителей, чтобы поддержка Java и в этом сегменте полностью соответствовала стандартам. Но производителей много, и только поэтому работать с ними крайне сложно. И все же кое-каких успехов удалось достичь. Например, поддержка Java в устройствах Motorola и Nokia полностью соответствует нашим стандартам по интеропреабельности.

Очерчивая контуры будущего

Сейчас все меняется очень быстро, но некоторые процессы еще довольно долго останутся определяющими. Например, закон Мура начинает работать по-другому. От наращивания тактовых частот идут к росту количества процессорных ядер и потоков, которые могут исполняться одновременно. Естественно, это не может не отразиться на средствах разработки.

Я думаю, совсем другой будет схема распространения контента. От продажи носителей перейдут к схеме продаж через Интернет, применяемой сервисом iTunes Store.

Есть и еще одна тенденция, которая многим (прежде всего традиционным операторам связи) очень не нравится, -- развитие IP-телефонии, в частности Skype. Конечно, пока трудно понять, к чему она приведет, но в любом случае аналоговым телефонам жить осталось совсем недолго.