Согласно официальному обновлению, команда Scala объявила о выпуске новой версии - Scala 2.13, которая содержит обновленную стандартную библиотеку и ряд улучшений, включая более быстрый компилятор и многое другое.
Что такое Scala?
Если, вдруг, вы не знаете: Scala - это язык программирования высокого уровня, основанный на объектно-ориентированных и функциональных парадигмах программирования. Этот язык поставляется со статическими типами, которые помогают разработчикам избегать ошибок в сложных приложениях.
Новые функции и обновления в Scala 2.13
Улучшены стандартные библиотечные коллекции
Это одна из основных особенностей Scala 2.13. Коллекции стандартных библиотек теперь улучшены с точки зрения простоты, производительности и безопасности по сравнению с предыдущими версиями. Вот некоторые из важных изменений:
- Новые коллекции
В Scala 2.13 коллекция Stream заменяется LazyList, которая не только оценивает элементы по порядку, но и только при необходимости.
Она поставляется с новой коллекцией mutable.CollisionProofHashMap, которая реализует изменяемые карты с использованием хеш- таблицы с red-black trees в контейнерах. Также добавлена коллекция mutable.ArrayDeque, двусторонняя очередь, которая использует внутренний кольцевой буфер с изменяемым размером.
- Упрощенный метод подписи
В новой версии методы преобразования не могут принимать неявный параметр CanBuildFrom. Это приведет к тому, что код станет проще и понятнее.
- Простая иерархия типов
Пакет scala.collection.parallel теперь является частью стандартного модуля Scala. В Scala 2.13 этот модуль будет доступен в виде отдельного JAR-файла, который можно также удалить, если он не использует параллельные коллекции. Кроме того, Traversable и TraversableOnce теперь устарели.
Улучшенный параллелизм
Futures внутренне переработаны, чтобы обеспечить ожидаемое поведение при более широком наборе сбоев. Обновленные Futures также создадут основу для повышения производительности и надежности приложений.
Изменения в компиляторе
Компилятор значительно улучшился по сравнению с предыдущей версией. Теперь он может выполнять детерминистическую и воспроизводимую компиляцию. По сути, это означает, что обновленный компилятор Scala 2.13 теперь может генерировать идентичные выходные данные для идентичных входных данных в различных случаях.
В целом, операции с коллекциями и массивами теперь оптимизированы, что делает компилятор на 5-10% лучше, чем Scala 2.12.
0 комментариев
Добавить комментарий