Scala
JVM / functional · 2004Actively developedTyped functional and object-oriented programming, principally on the JVM.
Procedural · Functional · Object-oriented
Links
- Homepage
- https://www.scala-lang.org/
- Reference / standard
- https://docs.scala-lang.org/
- Wikipedia (English)
- https://en.wikipedia.org/wiki/Scala_(programming_language)
Tracked release
- Version
- 3.10.0
- Artifact
- Language / compiler release
- Published
- Date not verified
- Source checked
- 2026-10-22
Use & ecosystem
- Suited for
- Web backends, Data / scientific computing, Distributed services
- Family / tradition
- C-style, Functional / ML / lazy
- Maturity
- Established
- Ecosystem breadth
- Focused
Sustained independent use in services and data infrastructure supports Established. JVM library access helps integration but does not turn every Java application domain into a mature Scala-specific ecosystem.
Industry & practical use
Backend services, distributed data processing and typed domain models are prominent uses. Scala 2 and Scala 3 library compatibility still matters for existing deployments.
Compilers, libraries & tooling
The JVM toolchain, build tools and Scala libraries form the main workflow. Scala.js and Scala Native offer additional targets, with different library availability.
Platforms & deployment
- General toolchains
- Linux, Windows, macOS
- Specialized tooling
- Browser
- Browser execution
- JavaScript
- Native cross-compilation
- Restricted / involved
JVM deployments are conventional; Scala.js supplies a browser route and Scala Native has a separate target/support matrix.
Scala Native cross-builds require target toolchains. Ordinary JVM bytecode deployment is runtime portability, not native cross-compilation.
Project health & support
The Scala Center and industrial participants support ongoing development. Release-line policies and migration costs should be considered independently of language maturity.
Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below
History & origin
Martin Odersky’s EPFL team first released Scala in 2004. Scala 3 substantially redesigned parts of its type and metaprogramming systems while continuing the language’s functional/object-oriented approach.
- Creators
- Martin Odersky, EPFL
- Origin
- 2004 — First public release.
Influences & descendants
Influenced by
- Not yet documented in this catalogue.
Influenced in this catalogue
- No linked entries yet.
Language features
- Typing
- Static
- Execution
- Bytecode VM, JIT, AOT, Transpiled
- Block structure
- Layout or explicit delimiters
- Semicolons
- Optional
- Lexical closures
- Yes
- Namespaced modules
- Yes
- Pattern matching
- Yes
- Macro system
- Syntactic macros
Implementation notes
- This profile describes modern Scala 3 syntax and macros. Existing Scala 2 projects may have different syntax, macro APIs and compatibility constraints.
Sources & references
- Project overview
- https://www.scala-lang.org/
- Language / implementation reference
- https://docs.scala-lang.org/
Use, ecosystem & platform sources
- Project overview
- https://www.scala-lang.org/
- Language / implementation reference
- https://docs.scala-lang.org/
See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.