Что Java нам готовит (по результатам Java Day Minsk 2012)

14 Май
2012

Доброго времени суток.

На днях (а именно 11 мая 2012) прошел первый в Беларуси Java Day. Не буду утомлять обильными фотографиями бейджеков, конференц залов и криво снятых слайдов, а расскажу непосредственно про суть, кое где затронув организационные вопросы.

Начало, как ему и полагается, было лёгким и не представляло собой ничего нового: синтаксический сахар от Project Coin, улучшения jvm в виде InvokeDynamic, куски кода с новым fork/join framework и ещё некоторые мелочи, о которых рассказывалось в первом Java Magazine в связи с выходом Java7.
Немного разогрев аудиторию, докладчики перешли к планам на Java8 (disclaimer: во всех докладах представителей oracle прозвучало, то что планы являются именно планами и никто не обещает точной реализации функционала, описанного в докладе, и сохранения имен проектов).

Проект Lambda


Проект призванный внедрить такую, нынче популярную, вещь как замыкания. Возможно Java пошла своим собственным путём, быть может оглянулась на другие языки, но факт, что с этим привносится дух функционального программирования, есть. В личной беседе представители oracle рассказали, что у них нет опасений по превращению java в функциональный язык, пока все замыкания служат чем-то в роде обёртки для анонимных классов, но при этом нельзя сказать что синтаксический сахар.
Страшной новостью станет возможность «множественного наследования»! Не пугайтесь, это не основная анонсированная фича, а лишь побочный эффект поддержки legacy кода. теперь интерфейсы смогут иметь default реализацию:
interface Iterable<T> {
  Iterator<T> iterator();
  Iterable<T> filter(Predicate<? super T> predicate)
    default Iterables.filter;
  <U> Iterable<U> map(Mapper<? super T, ? extends U> mapper)
    default Iterables.map;
  <U> U reduce(U base, Reducer<U, ? super T> reducer)
    default Iterables.reduce;
}

Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Не смотря на то, что когда то этот проект был анонсирован ещё в java7 и уже доступен в dev версиях jdk8, будущее развитие пока туманно (вполне возможно, что это просто промышленная тайна)

JavaFX


«JavaFX – это эволюция Java как платформы для разработки клиентских приложений». По мнению oracle теперь мы все дружно должны использовать JavaFX на смену swing (это как минимум), flash’у… Коротко говоря теперь «JavaFX — наше все в области GUI». Весьма спорная точка зрения… на мой взгляд поступили они как-то по microsoft’овски: выкатили на рынок полусырой продукт, который очень долгое время работал только под win, только в последней версии получил поддержку работы в браузере под Mac, а про linux только с dev версией и говорить думаю не стоит. Я как человек встречающий win только на работе и ещё в паре тройке мест и любящий всяческие нововведения, недоумеваю как можно на столько забить на linux системы?! Попробовать хочется а неможется… Подсластили пилюлю обещанием снять с разработчика заботу о жизненном цикле экранов/сцен и выводе больших объёмов данных с прокруткой.
Приятным является наличие набора chart’ов, интеграции со swing и работай с шейдерами из коробки. Анимация всего этого арсенала тоже на высоте. В общем ждём стабильной версии под все платформы.

Проект JigSaw


Про JigSaw сказать есть что и это может стать отдельной темой, но если коротко:
  • смерть jar’ам (в восьмёрки их не будет)
  • да здравствует репозиторный метод установки (привет maven)
  • всю Java в эти самые модули (бери только то что надо)
  • Даёшь сборку пакетов под ОС (пока только *.deb)
  • Перспектива распространения jre вместе с ОС пакетами (смотри выше)

И напоследок:
(Предварительно хочу напомнить о disclaimer вверху)
В неофициальной беседе проскочила тема о том что в java8 будет иной байт код, так что аппликации собранные пусть даже с меньшем target level скорее всего не побегут на старых VM.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх