«Открытые системы»

Нынешней весной в Москве Джеймс Гос?линг был больше расположен к общению, чем в свой первый визит в Россию осенью 2005 года в Санкт-Петербурге

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

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

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

Изменился и сам Гослинг. Сегодня он занимает одну из самых верхних ступеней в служебной иерархии Sun Microsystems, он и вице-президент, и руководитель группы разработки новых продуктов, и носитель почетного звания Sun Fellow, обычно свидетельствующего о том, что его обладателю предоставлена свобода в выборе направлений для своих исследований. Однако складывается впечатление, что Джеймс — «певец одной песни»; серьезных работ, так или иначе выходящих за рамки совершенствования созданного им языка, он не опубликовал. В последние годы Гослинг все чаще выступает в качестве свадебного генерала. В оставшееся от выступлений время он работает в научном подразделении Sun Labs, где размышляет о далеких от практической реализации проблемах, среди которых — построение семантических моделей и создание нетекстовых форм для представления языков программирования.

Гослинга с создателем языка Pascal Виртом объединяет не только определенная общность во внешнем облике, но и влюбленность в свои детища, убежденность в том, что мир должен в большей степени соответствовать языкам, ими созданным. Отвечая на вопрос о «секрете» успеха Java, Гослинг сказал: «Принципиальное отличие этого языка от всех остальных заключается в его способности ?склеивать? воедино различные предметы и строить из них распределенные системы на общей концептуальной базе. Строя сложные системы, можно не знать устройство отдельных компонентов. То же самое относится к программным системам. Java открывает возможность для создания многоуровневых систем, где каждый уровень разрабатывается автономно, но вместе они прекрасным образом компонуются в единую систему. И еще, из этого следует, что разработка может быть распределена между разными профессиональными коллективами, и даже между неформальными сообществами заинтересованных специалистов. Успехи Open Source тому свидетельство. Необыкновенно интересно наблюдать за тем, как из составляющих собирается система. В этом отношении очень показателен процесс разработки игр с мощной графикой. Буквально на глазах всякие замки, стреляющие устройства и другие элементы игр, созданные различными программистами, складываются в один сюжетный ряд. Основная роль Java заключается в том, что язык стал тем самым недостающим клеем, который позволяет связывать независимые компоненты в систему; вместе с ним стартовало распространение слабосвязанных архитектур».

Насколько могут быть объективными оценки человека, бесконечно полагающегося на потенциал своего создания, сказать сложно. По мнению Гослинга, новые языки и технологии программирования не обладают сравнимой с Java универсальностью: и Perl, и Ruby с методикой Ruby on Rails, и PHP следует рассматривать в качестве инструментов, полезных на внешних уровнях систем, а ядро следует все же писать на Java. К всеобщему увлечению сервис-ориентированными архитектурами Гослинг относится с осторожностью. Слабость подходов к построению распределенных систем на основе технологий Web-сервисов он видит в том, что XML позволяет передавать только синтаксис сообщений, в то время как заложенный в Java механизм удаленного вызова процедур RMI позволяет обмениваться кодами, что означает передачу семантики. Слабость же RMI состоит в привязанности в Java: этот метод работает только в стерильно чистой среде этого языка.

Гослинг проявляет большой интерес к школьному и университетскому образованию. Он уверен, что Java следует изучать еще в школе; для этого, по его мнению, есть достаточные возможности. В качестве примера он указывает на международный проект Java Gently, который инициировала Джудит Бишоп, учитель из Южной Африки, написавшая одноименную книгу. Книга переведена на немецкий, итальянский и испанский, а может быть, и на другие языки (у нас есть возможность войти в это сообщество, нужно просто перевести книгу на русский язык). Несколько изданий выдержал еще один учебник Дэвида Барнса и Микаэла Келлинга Objects First with Java, это тоже прекрасная книга для освоения школьниками современного программирования. А что касается высшего образования, то он считает первостепенно важным для специалиста не быть привязанным к какой-то конкретной технологии. Мир информационных технологий меняется чрезвычайно быстро, и надо быть готовым к постоянному обучению новому. Знаний, полученных в вузе, хватает на пару лет, не более, а потому необходимо постоянное самообразование. Проблема в том, что хочется познать больше, чем на то хватает физической возможности, и приходится выбирать, сознательно ограничивая свой диапазон познания.

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