Alternatives to Scala
A programming language that combines object-oriented and functional programming, targeting the JVM and web. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
Scala
A programming language that combines object-oriented and functional programming, targeting the JVM and web.
Replacements
Listings that take over the same core job as Scala.
Kotlin
A concise, multiplatform programming language from JetBrains for backend, Android, web and desktop apps.
Kotlin is another JVM language, with concise syntax, null safety and multiplatform targets including Android, web and native. Its best tooling is tied to JetBrains IDEs.
OCaml
A functional programming language with a strong static type system and a native-code compiler.
OCaml offers functional programming with a strong static type system and a native-code compiler instead of the JVM. It loses direct access to Java libraries and has a smaller ecosystem.
Similar software
Related functionality, not a direct replacement.
SDKMAN!
Manages parallel versions of JVM SDKs and build tools.
Gradle
An open-source build automation tool for Java, Kotlin and Android projects, with Kotlin and Groovy build scripts.
Apache Maven
A build and dependency management tool for Java projects based on a project object model.
Eclipse Temurin
Free prebuilt OpenJDK Java runtime and development kit binaries from the Eclipse Adoptium project.
Amazon Corretto
A no-cost OpenJDK distribution from Amazon with long-term support and quarterly security updates.