---
key: pl/scala
kind: plang
name: "Scala"
url: https://plangs.page/scala
---

# Scala

> Statically typed language supporting both object-oriented and functional programming, known for addressing Java's criticisms and supporting concurrent, distributed systems.

A strong statically typed high-level general-purpose programming language that supports both object-oriented programming and functional programming. Designed to be concise, many of Scala's design decisions are intended to address criticisms of Java. It is well-suited to building fast, concurrent, and distributed systems with its JVM, JavaScript, and Native runtimes.

## Facts

- Appeared: 2004
- Homepage: https://scala-lang.org
- GitHub: https://github.com/scala/scala3
- Languish ranking: #39

## Relationships

### Paradigms

- [Concurrent](https://plangs.page/paradigm/concurrent)
- [Functional](https://plangs.page/paradigm/functional)
- [General-Purpose](https://plangs.page/paradigm/general-purpose)
- [Imperative](https://plangs.page/paradigm/imperative)
- [Multi](https://plangs.page/paradigm/multi)
- [Object-Oriented](https://plangs.page/paradigm/oop)

### Platforms

- [Java](https://plangs.page/platform/java)
- [Node.js](https://plangs.page/platform/nodejs)
- [WASM](https://plangs.page/platform/wasm)

### Type Systems

- [Algebraic Data Types](https://plangs.page/type-system/algebraic)
- [Flow-Sensitive](https://plangs.page/type-system/flow)
- [Generic](https://plangs.page/type-system/generic)
- [Inferred](https://plangs.page/type-system/inferred)
- [Object-Oriented](https://plangs.page/type-system/object)
- [Static](https://plangs.page/type-system/static)
- [Strong](https://plangs.page/type-system/strong)
- [Structural](https://plangs.page/type-system/structural)

### Target Of

- [Fantom](https://plangs.page/fantom)

### Influenced By

- [Common Lisp](https://plangs.page/common-lisp)
- [Eiffel](https://plangs.page/eiffel)
- [Erlang](https://plangs.page/erlang)
- [F#](https://plangs.page/f-sharp)
- [Haskell](https://plangs.page/haskell)
- [Lisp](https://plangs.page/lisp)
- [OCaml](https://plangs.page/ocaml)
- [R5RS](https://plangs.page/r5rs)
- [Scheme](https://plangs.page/scheme)
- [Standard ML](https://plangs.page/standard-ml)

### Influenced

- [C#](https://plangs.page/c-sharp)
- [F#](https://plangs.page/f-sharp)
- [Fantom](https://plangs.page/fantom)
- [Flix](https://plangs.page/flix)
- [Hack](https://plangs.page/hack)
- [Kotlin](https://plangs.page/kotlin)
- [Pony](https://plangs.page/pony)
- [Swift](https://plangs.page/swift)

### Used to Write

- [Enso](https://plangs.page/enso)
- [Isabelle](https://plangs.page/isabelle)
- [NetLogo](https://plangs.page/netlogo)
- [ShEx](https://plangs.page/shex)

### Licenses

- [Apache 2.0](https://plangs.page/license/apache)

### Tags

- [Application](https://plangs.page/tag/app)
- [Application Framework](https://plangs.page/tag/framework)
- [Audio](https://plangs.page/tag/audio-dev)
- [Compiler](https://plangs.page/tag/compiler)
- [Industrial Control](https://plangs.page/tag/industrial)
- [Interpreter](https://plangs.page/tag/interpreters)
- [Scripting](https://plangs.page/tag/scripting)
- [Server](https://plangs.page/tag/server)
- [Shell](https://plangs.page/tag/shell)
- [Testing](https://plangs.page/tag/testing)
