Scala | ||||
---|---|---|---|---|
Paradigma | Multi-paradigma: functioneel, imperatief, concurrent | |||
Verschenen | 2004 | |||
Ontworpen door | Martin Odersky | |||
Ontwikkeld door | EPFL - LAMP (École Polytechnique Fédérale de Lausanne - Laboratoire de Méthodes de Programmation) | |||
Huidige versie | 3.5.0[1] 22 augustus 2024 | |||
Typesysteem | statisch, sterk met type‑inferentie. | |||
Implementaties | scalac[2] (JVM, LAMP-EPFL), scalacompiler.exe (.NET, LAMP-EPFL) | |||
Dialecten | Kotlin | |||
Beïnvloed door | Eiffel, Erlang | |||
Invloed op | Fantom, Ceylon, Kotlin | |||
Besturingssysteem | JVM, .Net CLR, LLVM | |||
Licentie | BSD-achtig[3] | |||
Bestandsextensies | scala, sc | |||
Website | https://www.scala-lang.org/] | |||
|
Scala is een object-functionele programmeer- en scripttaal voor algemene toepassingen. Het is statisch getypeerd, ontworpen om oplossingen bondig uit te drukken, op een type-veilige, elegante[4] en lichtgewichte wijze. Het integreert de voordelen van objectgeoriënteerde en functionele principes. Moderne software-constructies (closures, monaden[5], staartrecursie etc.) kunnen opgezet worden met bijvoorbeeld genericiteit, hogere-ordefuncties, patroonvergelijking, meervoudige overerving, call-by-name-evaluatie etc. Scala draait op Java's virtual machine (JVM) en kan enkele tekortkomingen van Java wegnemen (bijvoorbeeld meervoudige-overerving van klassen).[bron?]