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

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.