Наиболее принципиальным нововведением Java Platform, Standard Edition 8 (Java SE 8), которую Oracle представила 18 марта, стали лямбда-вычисления — техника функционального программирования, берущая свое начало из языка Лисп. Теперь, например, код программы может трактоваться как данные, однако вряд ли в ближайшие годы стоит ожидать превращения Java в полноценный функциональный язык. Лямбда-вычисления в контексте Java 8 ориентированы на прагматичные корпоративные нужды, когда критичные участки кода можно реализовать в виде автоматически распараллеливаемых функций. Именно на мультиядерные и мультипроцессорные платформы и нацелены ключевые нововведения “восьмерки”. Аль Хилва, аналитик IDC, в этой связи отмечает, что Java 8 успешно осваивает все преимущества современных параллельных архитектур. Так, интерфейс потокового ввода-вывода Stream API, интегрированный с обновленным Collections API для обработки и сортировки наборов значений, хорошо подходит для использования в функциональном стиле Map/Reduce.

Компания Typesafe, развивающая функциональный язык Scala на базе Java, провела в марте опрос 2800 программистов, из которых 83% назвали лямбда-вычисления самым важным нововведением Java 8. Однако переходить на новую платформу разработчики не спешат. Опрос выявил большое количество сомневающихся, а наличие возможности множественных ответов дало парадоксальные результаты: 65% готовятся перейти на Java 8 в течение двух лет, 54% — возможно, в ближайший год, 29% — до осени. Правда, лишь 1% вообще отказался от Java 8.

Из других новинок отметим возможность использования JavaScript в качестве встраиваемого сценарного языка, поставку приложений с ограниченным набором компонентов (для маломощных платформ), обновленные функции работы с датой и временем, расширенные аннотации, усиленное шифрование, а также поддержку Base64.

Версия для печати