- PVSM.RU - https://www.pvsm.ru -

Dotty уже на пороге

Следующее поколение языка Scala [1], третью версию которой лично я жду с большим нетерпением, кажется уже не за горами. Новый компилятор и новый набор фич для Scala 3 .0 разрабатывается в рамках проекта Dotty [2]. 17 месяцев назад Дотти отпраздновал небольшую победу — bootstrap, т.е. он смог скомпилировать сам себя. В планах на новые фичи было много вкусностей, которым были посвящены публикации на хабре (тыц [3] — если кто не читал, то советую пройти по ссылке).

И вот пару дней назад на гитхабе проекта [4] появился многообещающий коммит [5] от Дмитрия Петрашко [6] (один из ключевых разработчиков dotty), озаглавленный «Start writing release anouncement.», т.е. «Начинаем писать новость о выпуске».

Если вкратце пересказать суть написанного, то

  • скоро выходит alpha-версия 0.1.2
  • уже реализовано очень многое из обещанного (Intersection Types [7], Union Types [8], Trait Parameters [9], Enumerations [10], Algebraic Data Types [11], By-Name Implicits [12])
  • нереализованное (в основном оптимизации) реализуется довольно быстро
  • поэтому теперь каждые 6 недель будет выходить новый релиз
  • заявляется поддержка Visual Studio Code (зачем-то) и sbt, включая параллельную компиляцию dotty и scala2

Так что радуемся и ждем с нетерпением.
Очень надеемся, что как говорил [13] Дмитрий, так как архитектура компилятора полностью переписана с нуля (в этот раз правильно :-) ), теперь добавление новых фич в язык будет происходить гораздо проще и быстрее (и типо-безопасно с математически доказанной точностью, благодаря DOT-исчислению, которому обязан своим именем новый компилятор).

А медлить нельзя. Конкуренты не дремлют: Kotlin уже стал [14]вторым официальным языком Android. Чем scala пока похвастаться не сможет в первую очередь из-за «scala is too slow», т.е. чрезмерной тормознутости при компиляции и неоптимизированности стандартных библиотек — того, что dotty должен исправить.

Автор: barbalion

Источник [15]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/scala/256976

Ссылки в тексте:

[1] Scala: http://scala-lang.org/

[2] Dotty: http://dotty.epfl.ch/

[3] тыц: https://habrahabr.ru/post/316204/

[4] гитхабе проекта: https://github.com/lampepfl/dotty/

[5] коммит: https://github.com/lampepfl/dotty/commit/f6e85c41420d8cc8819e4b56b844a7fb931c761c

[6] Дмитрия Петрашко: https://vk.com/darkdimius

[7] Intersection Types: http://dotty.epfl.ch/docs/reference/intersection-types.html

[8] Union Types: http://dotty.epfl.ch/docs/reference/reference/union-types.html

[9] Trait Parameters: http://dotty.epfl.ch/docs/reference/reference/trait-parameters.html

[10] Enumerations: http://dotty.epfl.ch/docs/reference/reference/enums.html

[11] Algebraic Data Types: http://dotty.epfl.ch/docs/reference/reference/adts.html

[12] By-Name Implicits: http://dotty.epfl.c

[13] говорил: https://www.youtube.com/watch?v=aftdOFuVU1o

[14] стал : https://youtu.be/Y2VF8tmLFHw?t=1h27m37s

[15] Источник: https://habrahabr.ru/post/330112/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best