← All languages

Scala

JVM / functional · 2004Actively developed

Typed functional and object-oriented programming, principally on the JVM.

Procedural · Functional · Object-oriented

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
https://www.scala-lang.org/

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.