Следующее поколение языка Scala, третью версию которой лично я жду с большим нетерпением, кажется уже не за горами. Новый компилятор и новый набор фич для Scala 3 .0 разрабатывается в рамках проекта Dotty. 17 месяцев назад Дотти отпраздновал небольшую победу — bootstrap, т.е. он смог скомпилировать сам себя. В планах на новые фичи было много вкусностей, которым были посвящены публикации на хабре (тыц — если кто не читал, то советую пройти по ссылке).
И вот пару дней назад на гитхабе проекта появился многообещающий коммит от Дмитрия Петрашко (один из ключевых разработчиков dotty), озаглавленный «Start writing release anouncement.», т.е. «Начинаем писать новость о выпуске».
Если вкратце пересказать суть написанного, то
- скоро выходит alpha-версия 0.1.2
- уже реализовано очень многое из обещанного (Intersection Types, Union Types, Trait Parameters, Enumerations, Algebraic Data Types, By-Name Implicits)
- нереализованное (в основном оптимизации) реализуется довольно быстро
- поэтому теперь каждые 6 недель будет выходить новый релиз
- заявляется поддержка Visual Studio Code (зачем-то) и sbt, включая параллельную компиляцию dotty и scala2
Так что радуемся и ждем с нетерпением.
Очень надеемся, что как говорил Дмитрий, так как архитектура компилятора полностью переписана с нуля (в этот раз правильно :-) ), теперь добавление новых фич в язык будет происходить гораздо проще и быстрее (и типо-безопасно с математически доказанной точностью, благодаря DOT-исчислению, которому обязан своим именем новый компилятор).
А медлить нельзя. Конкуренты не дремлют: Kotlin уже стал вторым официальным языком Android. Чем scala пока похвастаться не сможет в первую очередь из-за «scala is too slow», т.е. чрезмерной тормознутости при компиляции и неоптимизированности стандартных библиотек — того, что dotty должен исправить.
Автор: barbalion