Scala

共有:

これらの質問は 3 つの主要プログラミング言語の 1 つに Scala を選択した開発者にのみ提示されました。

共有:

どのバージョンの Scala を普段使用していますか?

45%

Scala 3

66%

2.13

34%

2.12

8%

2.11

1%

2.10 以前

1%

分からない

何をコンパイルターゲットにしていますか?

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 開発者が DIY テックスタックからより実証されたソリューションに移行したことを示している可能性があります。

Scala 用にどのエディター / IDE を最もよく使用していますか?

77%

IntelliJ IDEA

13%

Visual Studio Code

3%

Emacs

2%

Vim

1%

Visual Studio

1%

Sublime

2%

その他

Scala 用に他にどのエディター / IDE を最もよく使用していますか?

8%

52%

IntelliJ IDEA

25%

9%

Visual Studio Code

9%

2%

Vim

1%

2%

Emacs

5%

1%

Sublime

Tomasz Godzik

VirtusLab シニア Scala 開発者

IntelliJ IDEA の使用率が増加していることは、LSP を使用しようとする人の数が増えても、IntelliJ IDEA が依然として頼りになる IDE であることを示しているようです。

今年は多様な開発者集団を対象に調査を行いました。対象者には IntelliJ IDEA と Scala プラグインを本業で使用している開発者だけでなく、VS Code や Metals などを好む開発者も含まれています。このように対象者が広がったことを考慮すると、回答者の 77% が IntelliJ IDEA と Scala プラグインの組み合わせを主要な IDE として使用しているというこの結果は、Scala コミュニティ内の雰囲気をよく表していると考えられます。さらに、回答者の半数以上が IntelliJ IDEA と Scala プラグインの組み合わせを第二の IDE として使用していると回答しています。

Tomasz Godzik

VirtusLab シニア Scala 開発者

IntelliJ IDEA の使用率が増加していることは、LSP を使用しようとする人の数が増えても、IntelliJ IDEA が依然として頼りになる 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%

該当なし

Tomasz Godzik

VirtusLab シニア Scala 開発者

このアンケートでは初登場となった Scala CLI ですが、すでに大半のユーザーがツールボックスに追加していると答えています。以前はこのような状況を見逃していたようです。

Scala 言語との対話用コマンドラインツールである Scala CLI が急速に台頭しているのが分かります。今年 5 月に 1.0.0 がリリースされたばかりですが、すでに Scala 開発者の 44% が定期的に使用しているようです。Scala CLI のユーザーは、それを(Scala CLI が正式に取って代わった)Scala REPL や(別の Scala 用人気 REPL である)sbt コンソールの代替製品として使用している開発者だけではありません。Scala CLI はビルドツールとしても使用できるため(ただし、Scala CLI の作者はそれが主な用途ではないと言っています)、Scala CLI は明らかに sbt 自体のユーザーも奪っています。

Tomasz Godzik

VirtusLab シニア Scala 開発者

このアンケートでは初登場となった 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 にクロスコンパイルしている

Tomasz Godzik

VirtusLab シニア Scala 開発者

緩やかではありますが、確実に Scala 3 への移行が始まっています。これはツーリングの成熟度と対応しているライブラリ数の増加に関連しているかもしれません。来年には LTS がどのような影響力を見せるか楽しみです。

どの Scala 3 の機能を使用していますか?

87%

列挙型

78%

拡張メソッド

74%

given インスタンス / using 節

61%

共用体型

57%

トップレベル定義

53%

Opaque 型エイリアス

最後までご覧いただきありがとうございました!

レポートはお役に立ちましたか?
ぜひこのレポートを友人や同僚と共有してください。

ご質問やご提案がございましたら、surveys@jetbrains.comまでお問合わせください。