- PVSM.RU - https://www.pvsm.ru -
В декабре Scala-комьюнити опубликовало [1] пресс-релиз о том, что Scala 2.14 никогда не выйдет. Мартин Одерски и Ко приняли решение, что необходимо сконцентрироваться на работе над Dotty/Scala3.
Сообщество Scala программистов (в моем лице в том числе) безмерно этому радо, т.к., честно говоря, давно пора было. Scala застыло в прорывном развитии на несколько лет, что на фоне стремительного роста популярности better-java-kotlin приводило к оттоку разработчиков [2] и даже целых компаний.
Scala3 должна стать тем самым большим скачком вперед, который вернет интерес нынешним и будущим энтузиастам ФП на JVM.
Мы получим больше всего того, что мы так любим: еще больше типобезопасности и метапрограммирования на стероидахбазе полностью нового компилятора с инкрементальным режимом. Еще более краткий [3] синтаксис [4].
Статус прогресса в списке [5]вкусностей застыл в неизменном состоянии на долгое время, что должно измениться в ближайшее время, если команда Scala3 выполнит свое обещание, данное в пресс-релизе. Пока же они нам советуют рассчитывать на...
К концу 2020 обещают зарелизиться. И еще в процессе отчитываться о майл-стоунах.
С Scala 2.13.1. И общую стандартную библиотеку. Здесь нет значительных компромиссов в угоду обратной совместимости потому что на самом деле 2.13 (и несостоявшаяся 2.14) задумывались как эволюционные промежуточные шаги на пути к Scala3. Scala3, напомню, благодаря TASTy [6] обещает вечную бинарную совместимость в будущем.
Метапрограммирование в Scala3 полностью переосмыслено. Поэтому макросы от 2.х придется полностью переписать. За подробностями отправляю сюда [6].
Производительность была поставлена во главу угла при разработке Scala3. Причем и при компиляции, и в рантайме. Все изменения в исходный код языка обложены тестами на регресс производительности.
Продолжится. Но все улучшения будут сначала заливаться в 3-ку, а потом при возможности портироваться обратно в 2-ку.
Предоставляется набор утилит для автоматической проверки совместимости кода к переходу на Scala3, а так же конвертации исходный файлов из 2 в 3 и обратно (!). Обещают не повторять ошибок Python'а (при переходе с 2 на 3), поломавшего всю совместимость с существовавшей кодовой базой Python2.
Команда Скалы работает совместно с разработчиками Visual Studio Code и IntelliJ IDEA. Обе уже понимают новую Скалу и обновляются параллельно с самим языком. Что не может не радовать, потому в современном мире нельзя разрабатывать языки без оглядки на IDE — ведь именно проблемы с парсингом и смертельно долгой компиляцией Scala2 привели в свое время [7] IntelliJ к созданию своего лунапарка с блекджеком и шлюпками под названием Kotlin.
Автор: barbalion
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/funktsional-noe-programmirovanie/346786
Ссылки в тексте:
[1] опубликовало: https://scala-lang.org/2019/12/18/road-to-scala-3.html#when-will-scala-30-be-released
[2] оттоку разработчиков: https://hackernoon.com/how-i-ported-10k-lines-of-scala-to-kotlin-in-one-week-c645732d3c1
[3] краткий: https://dotty.epfl.ch/docs/reference/other-new-features/control-syntax.html
[4] синтаксис: https://dotty.epfl.ch/docs/reference/other-new-features/indentation.html
[5] списке : http://dotty.epfl.ch/
[6] TASTy: https://www.scala-lang.org/blog/2018/04/30/in-a-nutshell.html
[7] привели в свое время: https://www.oracle.com/technical-resources/articles/java/breslav.html
[8] Источник: https://habr.com/ru/post/488500/?utm_campaign=488500&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.