Выпущена новая версия языка программирования Scala.
Основной темой релиза стала интеграция с платформой Java 8 и использование полезных возможностей этой JVM.
В частности:
- Трейты теперь компилируются в Java-интерфейсы. В первую очередь это полезно авторам библиотек, так как позволяет вносить больше изменений, не жертвуя бинарной совместимостью. Также это позволяет создавать трейты, которые могут быть расширены в коде на Java.
- Функции Scala теперь могут использоваться там, где требуются функциональные интерфейсы Java 8. И наоборот, код на Java может реализовывать функции Scala с использованием обычного синтаксиса лямбда-функций.
- При создании замыканий генератор кода теперь создает байт-код, аналогичный Java 8, избегая создания анонимных классов, что позволяет уменьшить размер jar-файлов.
Также в выпуск вошли новый оптимизирующий компилятор, правосторонний Either, улучшенный Future API, новый вид Scaladoc и другие улучшения.
Релиз совместим с исходными текстами на предыдущей версии языка, за исключением экспериментальных функций (макросов и т. п.). Существует ряд особых случаев, при которых может потребоваться модификация исходного кода или использование специального ключа компиляции -Xsource:2.11
для включения дополнительного режима совместимости. Бинарная совместимость традиционно поддерживается только между минорными версиями.
>>> Подробности