Scala

Поделиться:

На вопросы о Scala отвечали только те, кто выбрал его в качестве одного из трех основных языков программирования.

Поделиться:

Какие версии Scala вы регулярно используете?

45%

Scala 3

66%

2.13

34%

2.12

8%

2.11

1%

2.10 или старше

1%

Затрудняюсь с ответом

Подо что вы компилируете Scala?

97%

JVM

21%

scala.js

8%

scala-native

2%

Android

Какие фреймворки вы регулярно используете для юнит-тестирования?

74%

ScalaTest

28%

ScalaCheck

24%

MUnit

19%

ZIO Test

18%

JUnit

14%

ScalaMock

Какие фреймворки или библиотеки вы регулярно используете для веб-разработки?

40%

http4s

29%

Akka HTTP

22%

Play

20%

sttp

11%

Spring

9%

Netty

Какие фреймворки или библиотеки вы регулярно используете?

49%

Cats

35%

Akka

28%

FS2

26%

ZIO

25%

Spark

16%

Slick

12%

Shapeless

8%

Scalaz

Некоторые из наиболее крупных Scala-фреймворков — Cats, ZIO, FS2 и http4s — за последний год приобрели значительную популярность. Это может быть признаком зрелости этих проектов и свидетельствовать о том, что Scala-разработчики переходят от самодельных стеков к более проверенным решениям.

Какой редактор или IDE вы чаще всего используете для разработки на Scala?

77%

IntelliJ IDEA

13%

Visual Studio Code

3%

Emacs

2%

Vim

1%

Visual Studio

1%

Sublime

2%

Другое

Какой дополнительный редактор или IDE для Scala вы используете чаще всего?

8%

52%

IntelliJ IDEA

25%

9%

Visual Studio Code

9%

2%

Vim

1%

2%

Emacs

5%

1%

Sublime

Томаш Годжик

Старший Scala-разработчик в VirtusLab

Рост популярности IntelliJ IDEA указывает на то, что даже если все больше людей пытаются использовать LSP, они все равно остаются верны надежной IDE.

В этом году мы обратились к самым разным разработчикам — не только к тем, кто пользуется IntelliJ IDEA со Scala-плагином, но и к тем, кто предпочитает VS Code, Metals и другие инструменты. Учитывая более широкий охват, мы можем предположить, что полученные результаты (77% респондентов в качестве основной IDE используют IntelliJ IDEA с плагином для Scala) позволяют судить о настроениях в сообществе Scala-разработчиков. Кроме того, больше половины опрошенных сообщили, что используют IntelliJ IDEA с плагином для Scala в качестве второстепенной IDE.

Томаш Годжик

Старший Scala-разработчик в VirtusLab

Рост популярности IntelliJ IDEA указывает на то, что даже если все больше людей пытаются использовать LSP, они все равно остаются верны надежной IDE.

Какие системы сборки вы регулярно используете?

82%

SBT

21%

Maven

13%

Gradle

10%

Bloop

8%

Mill

3%

Bazel

2%

Ant

2%

Pants

4%

Другое

Какие интерактивные оболочки вы используете совместно со Scala?

45%

sbt console

44%

Scala CLI

27%

IntelliJ IDEA Worksheet

17%

Scastie

15%

Ammonite REPL

8%

Scala IDE Worksheet

7%

Jupyter Notebook

2%

Apache Zeppelin Notebook

3%

Другое

14%

Никакие

Томаш Годжик

Старший Scala-разработчик в VirtusLab

Scala CLI впервые в опросе, и уже столько разработчиков включили его в свой набор инструментов! Похоже, нам очень не хватало чего-то подобного.

Мы наблюдаем стремительный рост Scala CLI — инструмента командной строки для взаимодействия с языком Scala. Версия 1.0.0 вышла только в мае этого года, но уже 44% Scala-разработчиков пользуются Scala CLI на регулярной основе. Причем круг пользователей не ограничивается теми, кто использует Scala CLI как альтернативу Scala REPL (который Scala CLI официально заменил) или sbt-консоли. По-видимому, новый инструмент оттягивает пользователей и у самого sbt, поскольку Scala CLI можно использовать в качестве инструмента сборки, хотя создатели утверждают, что это не основное его назначение.

Томаш Годжик

Старший Scala-разработчик в VirtusLab

Scala CLI впервые в опросе, и уже столько разработчиков включили его в свой набор инструментов! Похоже, нам очень не хватало чего-то подобного.

Какие плагины для компилятора вы используете при работе со Scala?

24%

Kind Projector

15%

Scalamacros/Scalameta Paradise

1%

Miniboxing

4%

Другое

66%

Никакие

Какие еще инструменты вы используете для разработки на Scala?

68%

Scalafmt

37%

Scalafix

24%

Scoverage

15%

Scalastyle

10%

WartRemover

6%

Scapegoat

24%

Никакие

Используете ли вы Scala 3?

66%

46%

Я не использую Scala 3

27%

44%

Я использую возможности Scala 3

7%

11%

Я делаю кросс-компиляцию проектов Scala 2 в Scala 3

Томаш Годжик

Старший Scala-разработчик в VirtusLab

Медленно, но верно люди начинают переходить на Scala 3. Возможно, это связано с улучшением инструментария и увеличением числа поддерживающих библиотек. Интересно, как на все это повлияет долгосрочная поддержка в следующем году.

Какими возможностями Scala 3 вы пользуетесь?

87%

Тип Enum

78%

Методы расширения

74%

Объекты given / предложения using

61%

Объединенные типы

57%

Определения верхнего уровня

53%

Псевдонимы типов opaque

Спасибо, что уделили время!

Если результаты исследования показались вам интересными, поделитесь ими с друзьями и коллегами.

Если у вас есть вопросы или пожелания, свяжитесь с нами по адресу surveys@jetbrains.com.