Scala rammer version tre med gennemgribende nyheder

Illustration: Milkos/Bigstock
Scala 3 er en komplet overhaling af sproget.

Efter otte års arbejde er programmeringssproget Scala nået til version tre, også kendt under kælenavnet Dotty.

Scala er et objekt-funktionelt hybridsprog, der sædvanligvis afvikles på Javas virtuelle maskine (JVM), med efterhånden 17 år på bagen. Selvom Scala stadig er et nichesprog bedømt på popularitet, benyttes det eksempelvis i big data-systemer som Apache Spark og Kafka.

Scala 3 er en komplet overhaling af sproget, lyder det fra holdet bag. Mange aspekter af typesystemet er blevet ændret i retning af at være mere principielle. Det udmøntes blandt andet i nye union-typer, som er en type der forener to forskellige typer og findes i mange andre sprog. En Either-type har tidligere været en mulighed på dette område.

Der bydes også på bedre typeinferens og overload af funktioner.

Blandt andre nyheder er en mindre støjende syntaks for løkker og forgreninger, uden omklamrende parenteser. Det kan se sådan ud:

if x < 0 then
  "negative"
else if x == 0 then
  "zero"
else
  "positive"
 
if x < 0 then -x else x
 
while x >= 0 do x = f(x)
 
for x <- xs if x > 0
yield x * x
 
for
  x <- xs
  y <- ys
do
  println(x + y)
 
try body
catch case ex: IOException => handle

Nøgleordet new, som Scala har overtaget fra Java, kan nu udelades:

class StringBuilder(s: String):
  def this() = this("")
 
StringBuilder("abc")  // old: new StringBuilder("abc")
StringBuilder()       // old: new StringBuilder()

Tuborg-parenteser rundt om en kodeblok kan nu udelades i visse tilfælde, og der er mange flere nyheder, end hvad er nævnt her.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere