Scala

分享:

这些问题仅向选择 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

您经常使用哪种(哪些)框架/库进行 Web 开发?

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% 的受访者表示使用带有 Scala 插件的 IntelliJ IDEA 作为主要 IDE)能够很好地反映 Scala 社区的意见。最重要的是,超过一半受访者指出使用带有 Scala 插件的 IntelliJ IDEA 作为辅助 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 版本,但似乎已经有 44% 的 Scala 开发者经常使用。Scala CLI 用户不限于将其用作 Scala REPL(已被 Scala CLI 正式取代)或 sbt 控制台(Scala 的另一个流行 REPL)替代品的开发者。Scala CLI 显然也在吸引用户远离 sbt 本身,因为它可以用作构建工具,尽管 Scala CLI 的作者说这不是它的主要目的。

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。这可能与工具的成熟和支持库数量的增加有关。我想知道未来一年长期支持会产生什么样的影响。

您使用哪种(哪些)Scala 3 功能?

87%

枚举

78%

扩展方法

74%

给定实例/using 子句

61%

联合类型

57%

顶层定义

53%

Opaque 类型别名

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com