Scala
A programming language that combines object-oriented and functional programming, targeting the JVM and web.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
2 more ways to get Scala
Package managers
- Chocolatey
choco install scala - Homebrew
brew install scala
About Scala
Scala is a statically typed language that mixes object-oriented and functional programming, with immutable collections and a derivation system for giving custom types new capabilities. It runs on the JVM, and Scala.js lets it target the web. The language is meant to scale from small scripts to large multiplatform applications.
The latest release and LTS release is 3.9.0, and older releases, including Scala 2, stay available. An online playground, a tour and the Scala 3 book help newcomers get started.
Strengths
- Combines functional and object-oriented styles
- Runs on the JVM with access to Java libraries
- Scala.js targets the web
- Online playground and extensive documentation
Limitations
- Migrating from Scala 2 to Scala 3 can take work
- Steeper learning curve than many JVM languages
Details
- Pricing
- FreeFree and open source.
- License
- Apache-2.0
- Developer
- The Scala contributors
- Platforms
- Windows, macOS, Linux, Command line
- How it runs
- Downloadable app
- Account
- Not required
- Works offline
- Yes
- Best suited for
- JVM developers who want functional programming with strong static types
- Categories
- Developer tools
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Alternatives to Scala
Compare allSoftware that can replace Scala for an important use case, and what changes if you switch.
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 necessarily 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.