Автор: Виктор Шепелев
В Сан-Франциско состоялась 10-я ежегодная конференция JavaOne, традиционно проводимая корпорацией Sun Microsystems в середине мая. Как водится, не обошлось без сюрпризов.
Судя по реакции прессы, самым большим сюрпризом стало очередное объявление о грядущем открытии исходников Java. Впрочем, даже те журналисты, которые поспешили из громкого анонса сделать информационный повод, не могли удержаться от скептицизма. И их можно понять — ведь разговоры об открытости Java продолжаются уже долгие годы, все плюсы и минусы этого проекта давно известны. Более того, речь-то идет не о собственно открытии исходников (они и так доступны под Java Research License), а лишь о смене лицензии — дабы продукты, производные от Java-решений Sun, можно было распространять. «Продукты, производные…» здесь означает не программы, написанные на Java (для них как раз ничего не изменится), а решения, включающие в себя виртуальную машину Java; а вот что означает «можно распространять» — это вопрос пока нерешенный. CEO Sun Джонатан Шварц говорит, что конкретная лицензия еще не выбрана, и будет ли это запрещающая любые коммерческие решения GPL или более мягкая Mozilla Public License (разрешающая распространять программы без исходников) — пока неясно; сановцы вроде бы склоняются к последней.
Впрочем, для основной аудитории JavaOne громкая «новость» не стала ни особо новой, ни особо интересной. Гораздо большее оживление вызвало известие о грядущем выходе Visual Basic for Java (project Semplice) — программы на «старом добром» VB будут компилироваться в байт-коды Java Virtual Machine и смогут использовать все возможности библиотек Java. Это еще один большой шаг в сторону конкуренции с микрософтовской платформой .Net. Решение от Sun, продолжающее оставаться далеко впереди по переносимости программ, постепенно сокращает разрыв и в количестве языков, доступных разработчику. Помимо Java и свежеобъявленного VB, на конференции обсуждались Jython (Python for Java), Jruby (Ruby for Java), Groovy (существующая только на этой платформе помесь Python, Ruby и Smalltalk) и даже PHP — в этой области никаких революционных новостей не было, но темпы эволюционного развития продолжают оставаться очень высокими.
Другая порция новостей от Sun, которую многие назвали очередным этапом «гонки за [редмондским] лидером», касалась нововведений в самом языке: обсуждалась как Java Standard Edition 6 «Mustang», уже реализованная в бете и с давно известными свойствами, так и Java SE 7 «Dolphin», существующая пока лишь в проектах и слухах. Вот эта-то последняя (точнее, скудная информация о ней) вызывает дежавю с C# — языком, который начинался в 2001 году как нечто Java-подобное, но к текущему моменту (C# 3.0 beta) вобрал в себя многие инновационные особенности самых «революционных» разработок. Java 7, похоже, получит по крайней мере часть аналогичной функциональности; самое важное — ссылки на методы (делегаты) и лямбда-функции (анонимные делегаты). Таким образом, за последнее время — не то под давлением наступающего «точка-нет», не то по внутренним причинам — Java стремительно эволюционирует, превращаясь из «простого и однозначного языка, главная цель которого — защитить программиста от собственных ошибок», в мощный инструмент, позволяющий легко и изящно прострелить себе ногу[Одна из классических шуток на тему сравнения языков программирования — как на каждом из них может быть решена задача «прострелить себе ногу»].
Новая инновационная (пардон за каламбур) сущность Java подтверждалась на конференции докладами о средствах разработки и других «программистских штучках», многие из которых уникальны для этой платформы. Особое внимание уделяли среде разработки NetBeans производства самой Sun. Две другие общеиспользуемые среды разработки на Java — опенсорсный комбайн «для всего» Eclipse от IBM и знаменитая нововведениями в области анализа и рефакторинга кода IDEA от наших земляков JetBrains освещались куда скромнее.
Изрядная часть докладов и обсуждений была посвящена остромодным тенденциям Web 2.0, AJAX, веб-сервисов и сервис-ориентированной архитектуры. Созданная как «язык для Интернета» (хотя изначально не слишком успешная на этом поприще), Java очень даже «имеет заявить» по поводу последних тенденций этого самого Интернета. Здесь отметился и бывший глава Sun Скотт Макнили с программным докладом «Будущее — это веб-сервисы», и Google, представивший сервис Google Web Toolkit, и компания Oracle, рассказывавшая о своем видении Service-Oriented Archi-tecture 2.0, и множество фигур помельче. Активно обсуждались серверная технология JSF (Java-Server Faces), радикально упрощающая разработку интерфейсов для веб-приложений, и всевозможные клоны популярного в последнее время фреймворка веб-разработки RubyOnRails — JRubyOnRails, Grails, Trails. В этой обстановке сообщение о том, что Java EE 5, новая версия Java Enterprise Edition (платформы, на которой основываются все серьезные сервисы), наконец-то готова к работе, была встречена чуть ли не аплодисментами.
Несколько интересных презентаций было посвящено революционным 3D-интерфейсам (в том числе спонсируемому Sun 3D-десктопу Looking Glass). Впрочем, пока эти технологии больше интересуют журналистов, нежели промышленных разработчиков.
Редакция благодарит за помощь в подготовке материала Дмитрия Жемерова из Jet-Brains.