Обзор подготовлен

версия для печати
Какое будущее Oracle готовит для Java?

Какое будущее Oracle готовит для Java?

Несмотря на то, что технология Java в последние годы понесла большие потери на PR-фронте, в технологическом и организационном плане состояние Java сейчас намного лучше, чем три-четыре года назад. Oracle удалось объединить вокруг собственной реализации Java OpenJDK ключевых игроков отрасли, и в ближайшем будущем мы будем наблюдать не только стабилизацию, но и ускорение развития платформы.

Последние пять-шесть лет были не лучшим временем в истории Java. Начнем с того, что в последние годы своего существования Sun по сути застопорила развитие технологии, и с 2006 г. до 2011 г. новые версии платформы не выпускались. Как показывают промежуточные результаты судебного разбирательства с Google по поводу Android, надеждам Oracle «раскрутить» Google на миллиардные выплаты, видимо, не суждено оправдаться, в то время как сомнительные действия и заявления Oracle в ходе этого процесса (чего только стоит признание Ларри Эллисона в том, что он не знает, является ли Java бесплатной) нанесли Java существенный имиджевый ущерб. Разговор о потерях Java на PR-фронте можно продолжать, но и в техническом плане дела у технологии как будто бы идут не лучшим образом: Java как язык программирования давно перестала быть новинкой, и сегодня молодые разработчики все больше внимания уделяют динамическим языкам программирования, таким как PHP, Python, Ruby, и JavaScript на стороне сервера. Итак, Java подошла к концу своего существования?

Текущее состояние Java

9 млн разработчиков
3 млрд Java-совместимых устройств
Второй по популярности язык после C
индекс популярности среди языков программирования – 16,6%
Среди участников разработки: Oracle, IBM, SAP, Apple и др.

Источник:Oracle,Tiobe,2012

Разумеется, нет, и Java будет существовать еще очень долго. Что же касается разговоров о конце Java, то все они основаны на ошибочном восприятии Java как языка программирования. На самом деле Java – это, прежде всего, комплексная платформа для создания приложений самого разного класса – корпоративных, настольных, мобильных, встраиваемых, – и у нее есть только один полноценный конкурент – аналогичная платформа .Net от Microsoft. В своем классе тандем Java и .Net практически не имеет альтернатив, и говорить о том, что Java в последние годы существенно уступила свои позиции в пользу технологии Microsoft, у нас нет оснований.

Итак, Java будет жить просто потому, что индустрия пока что не предложила никакой достойной замены. Но как будет проходить развитие Java на протяжении ближайших нескольких лет?

Текущее состояние и ближайшие перспективы

В прошлом 2011 году Oracle положила конец длительной паузе в развитии Java и выпустила платформу Java SE 7. Как сообщил CNews Джордж Сааб, вице-президент Oracle по разработке платформы Java, когда Oracle начала разбирать планы, накопленные Sun по развитию Java, то выяснилось, что их с лихвой хватит на пять лет работы – не говоря уже о новых идеях. «И тогда мы приняли решение обратиться к сообществу и спросить его представителей, что для них наиболее приоритетно», – говорит вице-президент Oracle. Поэтому в последнее время Oracle была занята не столько изобретением нового, сколько решением неотложных задач, которые накопились в неспокойные годы, предшествовавшие закату Sun Microsystems как самостоятельного рыночного игрока.

В Java 7 реализована часть этих планов, в частности, добавлена поддержка динамических языков программирования – таким образом, сегодня на платформе Java могут полноценно работать разработчики, предпочитающие языку Java языки JRuby, Jython и Clojure. Однако часть важных усовершенствований, которые ранее планировалось реализовать в Java 7, были отложены на более позднее время: речь идет в первую очередь о проектах Lambda и Jigsaw, которые обеспечат поддержку в Java замыканий и модульного программирования.

Новую Java 7 использует уже около пятой части разработчиков

Источник: Zeroturnaround, 2012

Однако, возможно, еще более важными, чем технические улучшения, были сдвиги на организационном фронте. Возможно, крупнейшее достижение Oracle, связанное с развитием Java, – это преодоление многолетних разногласий между Sun и IBM, с которыми в значительной мере связан тот факт, что развитие Java в период 2006-2011 гг. застопорилось. Можно только догадываться, какие уступки были сделаны при заключении этого соглашения, но IBM отказалась от многолетнего проекта по созданию альтернативной реализации Java и присоединилась к проекту OpenJDK. Кроме IBM, Oracle также удалось заручиться поддержчкой Apple, SAP, Red Hat и других компаний. Наконец, руководящие правила сообщества OpenJDK, которые при Sun всегда были «временными», были наконец заменены на постоянные.

Иными словами, Oracle удалось успешно преодолеть разброд и шатание в области создания реализаций Java, направив усилия всех заинтересованных участников рынка в одно русло – русло OpenJDK. (Правда, при этом пострадал проект Apache Harmony – конкурент OpenJDK, также с открытым кодом, который длительное время пользовался поддержкой IBM, но теперь был не самым красивым образом отправлен в самостоятельное плавание. Но это, как говорится, отдельная история.)

Итак, организационные вопросы решены, горящие задачи, которые возникли сразу после поглощения Sun, выполнены, и теперь развитие Java должно продолжаться более-менее стабильно. Чего же следует ожидать?

В версии JDK 8, выход которой ожидается летом 2013 г., помимо упомянутых проектов Jigsaw и Lambda, ожидается поддержка новых типов устройств (включая планшеты и мобильные телефоны, оснащенные камерами, акселерометрами и др.), платформа JavaFX 3.0 для разработки приложений с богатыми интерфейсными возможностями и другие улучшения. В будущем ожидается сделать платформу JVM изначально пригодной для использования с различными языками программирования, усовершенствовать возможности по использованию Java в многопользовательской облачной среде и др.

Однако усовершенствования будут осуществляться не только в области стандартной (SE) и корпоративной (EE) версий Java, но и в области мобильной версии (ME). В частности, планируется преодолеть разрыв между мобильной и стандартной версиями, синхронизировать их по времени выпуска и добиться возможности запускать любое приложение, написанное для мобильной версии, в среде стандартной.

Революций не будет?

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

Однако, как считает Джордж Сааб, именно такой консервативный подход и был свойствен Java с самого начала существования технологии: «Java не принесла так уж много новых идей, но она объединила множество перспективных идей из разных мест в одном удобном пакете, который было просто понять, – сообщил он CNews. – Привлекать сообщество к развитию всего этого важно и сейчас. Я думаю, что другими разработано очень много полезных идей, и одна из важных функций – смотреть вокруг и складывать это в один пакет».

Таким образом, сегодня Oracle лишь продолжает действовать по принципу «с миру по нитке», который был изначально присущ Java. Однако в заимствовании чужих идей Oracle действует выборочно и отбирает лишь проверенные. В качестве одного из примеров Джордж Сааб привел технологию Jigsaw: «Сама по себе модульная система – это ничто, их уже создано множество. Но что мы пытаемся сделать – это научиться на проверенных временем и хорошо зарекомендовавших себя идеях».

Егор Гребнев

Toolbar | КПК-версия | Подписка на новости  | RSS