← Software

Scala

A statically typed language combining OOP and functional programming.

Scala logo

Scala runs on the JVM (and increasingly on JavaScript via Scala.js and native targets via Scala Native) and offers a powerful type system with generics, type inference, type classes via implicit parameters, and pattern matching with exhaustive case analysis. The language combines functional and object-oriented programming and has a reputation for both expressive power and learning-curve steepness.

Scala 3, released in 2021, was a major rewrite of the type system with cleaner syntax for many constructs, simplified implicits (now "given/using"), and a new dependent function- type system. The transition from Scala 2 to Scala 3 took several years for ecosystem libraries but is now mostly complete.

Martin Odersky created Scala in 2003 at EPFL. Apache Spark, the distributed-data-processing framework, runs on Scala and has been a major driver of Scala adoption. Akka and Akka Streams, Cats Effect, fs2, http4s, and Play are other prominent Scala ecosystems. Twitter (X), LinkedIn, Netflix, and Apple all run substantial Scala codebases.

License: Apache-2.0

Category: Language

Website: https://www.scala-lang.org/

Install

The recommended installer is Coursier:
  curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setup
Or: brew install scala (macOS)

Authors

  • Martin Odersky (creator)
  • Scala Center at EPFL and contributors
PreviousSalt Nextscrot

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring