Scala 2.13

Scala 2.13

miniJUG

Вышла Scala 2.13

Спустя два с половиной года после выхода Scala 2.12 вышла новая версия языка 2.13. В эту версию вошло более 1500 пулл-реквестов, а контрибьюторами стали 162 человека. Список изменений и нововведений довольно внушающий. Целью многих из них стало упрощение языка и стандартной библиотеки. Перечислим некоторые из них.

• Более простые сигнатуры методов и упрощение иерархии коллекций (больше нет CanBuildFrom, Traversable, TraversableOnce).

• Новые более эффективные реализации HashMap и HashSet с лучшей совместимостью с java.util.HashMap/HashSet.

• Новые типы коллекций (immutable.LazyList, immutable.ArraySeq, mutable.ArrayDeque, immutable.VectorMap, immutable.TreeSeqMap и т.д.). immutable.Stream стал deprecated.

• Множество новых методов в существующих классах (Seq.lengthIs, Seq.sizeIs, Seq.sizeCompare, Iterable.lazyZip, String.toIntOption, Left.withRight, Right.withLeft, pipe, tap и т.д.).

• Интероперабельность с Java теперь является частью стандартной библиотеки.

• Появилось автоматическое управление ресурсами (scala.util.Using). 

• Новые языковые возможности (типы-литералы, частичная унификация, by-name implicits, подчёркивания в числовых литералах).

• Стали deprecated процедурный синтаксис (def m() { ... }) и View bounds (A <% B).

• Новый компилятор стал быстрее на 5-10% по сравнению с 2.12.

Как и Scala 2.12, Scala 2.13 требует Java 8 для работы (и оба работают на Java 11).

2.12 и 2.13 не являются бинарно совместимыми, поэтому необходима перекомпиляция всех существующих библиотек.


Обсудить новость

Подписаться на канал в Telegram














































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Report Page