Kurz: Objektorientiert und funktional auf der JVM.
Genauer: Scala wird eingesetzt für Big Data (Apache Spark), Backend-Dienste, Datenpipelines, ausdrucksstarke Bibliotheken. Scala (Martin Odersky, EPFL, 2004) verbindet objektorientierte und funktionale Programmierung auf der JVM (Java Virtual Machine), läuft aber auch als JavaScript (Scala.js) und nativ (Scala Native). Der Name steht für scalable language.
Steckbrief
| Eigenschaft | Wert |
|---|---|
| Erschienen | 2004 |
| Entwickelt von | Martin Odersky (EPFL) |
| Paradigmen | objektorientiert und funktional |
| Typisierung | statisch, stark |
| Ausführung | JVM (auch JavaScript, Native) |
| Paketverwaltung | sbt / Maven |
| Dateiendung | .scala |
| Sprachfamilie | JVM-Sprachen |
Einsatzgebiete
Big Data (Apache Spark), Backend-Dienste, Datenpipelines, ausdrucksstarke Bibliotheken.
So führst du Code aus
Im Browser mit Scastie (scastie.scala-lang.org) oder lokal mit scala-cli run Hallo.scala.
Das erste Programm
@main def main(): Unit =
println("Hallo Scala!")
val name = "Mia"
println(s"Hallo, $name!") // s-Interpolation
println(s"2 + 3 = ${2 + 3}")
println(f"Pi ist ungefähr ${math.Pi}%.3f") // f-Interpolation mit Format
print("ohne Zeilenumbruch")
println()Ausgabe:
Hallo Scala!
Hallo, Mia!
2 + 3 = 5
Pi ist ungefähr 3.142
ohne ZeilenumbruchDer Kurs: 8 Kapitel
Jedes Kapitel enthält geprüfte Beispiele mit echter Ausgabe, Merksätze, eine Übungsaufgabe und ein Quiz. Zum Üben mit Fortschrittsanzeige, Abzeichen und Zertifikat: Scala-Kurs auf der Lernseite.
Kapitel
Funktional denken
Objektorientiert und funktional
Fortgeschritten
Nachschlagen
Ähnliche Sprachen
- Kotlin: Prägnant, sicher und die erste Wahl für Android
- Haskell: Rein funktional, streng typisiert, elegant
- Java: Streng typisiert und objektorientiert, überall im Einsatz
Siehe auch
Programmiersprachen im Überblick, Sprachen im Vergleich, Zeitstrahl der Programmiersprachen, Programmierparadigmen, Kompiliert oder interpretiert?