Mød Scala - et hybridsprog i Java-lejren
Scala er et af de mange sprog, som kan afvikles på Javas platform. Det er - helt i tidens ånd - et hybridsprog, som kombinerer objektorientering med elementer fra funktionsprogrammering.
Der skulle gerne give programmer med færre fejl, siger Bill Venners, som er en af sprogets fortalere. Han står bag teknologi-bloggen Artima, og mandag talte han på JAOO-konferencen om det nye sprog. Men hvad er det, vi kan lære af funktionel programmering?
»Den vigtigste fordel er, at det gør kode lidt mindre modtagelig for fejl, og det gør koden mere kortfattet. Det er ikke kæmpe forskelle, men de bliver større over tid. En del af Scalas kortfattethed kommer fra den funktionelle side af sproget,« forklarer Bill Venners til Version2.
Scala bruger elementer fra funktionelle sprog, så som at funktioner er med på første klasse, algebraiske typer, og fra Erlang har Scala lånt den såkaldte Actor-model til parallelprogrammering. På den objektorienterede side ligner sproget Java, men med mixins (kaldet traits) i stedet for interfaces og singleton-objekter i stedet for statiske felter og metoder. Hertil benytter Scala typeinferens, så koden kan se helt dynamisk ud.
Men det vigtigste ved Scala er måske, at det er binært kompatibelt med Java, så man kan kalde eksisterende Java-kode og biblioteker fra Scala på en sømløs facon. Det er også det, som vækkede Bill Venners interesse for sproget.
»Jeg blev interesseret i Scala fordi jeg har brugt Java i årevis. Jeg kender Javas biblioteker, og vi har vores egne biblioteker, som vi ønsker at forsætte med at bruge. Jeg vil have et sprog, som er hurtigt på JVM'en, og som benytter statiske typer. Jeg var på udkig efter et mere produktivt sprog på JVM-platformen, og der passede Scala ind,« siger Bill Venners.
Et problem for nye sprog som Scala er, at IDE'er og andre kodeværktøjer ikke kan leve op til hvad der kendes fra f.eks. Java og C#.
»Indtil for tre-fire måneder siden var værktøjerne ikke særligt gode. Men i sommers skete der noget. Der er nu en Eclipse-plugin, der er anvendelig og det samme med Netbeans. Javas værktøjer er fantastiske, og Scalas er ikke nået så langt endnu. Men udviklingen er lovende,« slutter Bill Venners.
Sammen med sprogets opfinder Martin Odersky er han forfatter til den første bog om Scala, som udkommer om en måneds tid.
Kommentarer (1)
Hvad kommer først: Udbredelse af et sprog eller gode udviklingsværktøjer til det?
Nogle vil ikke bruge et sprog, før der er avancerede IDE'er og lignende verktøjer, men på den anden side har kun store virksomheder råd til at udvikle avancerede værktøjer til et sprog, der ikke er udbredt.
Min holdning er: Hvis du kan lide sproget, så brug det. Der skal nok komme værktøjer efterhånden, og indtil da er Emacs ikke at foragte som (I)DE.

