Scala är ett relativt nytt språk som både är objektorienterat och funktionellt. Dessutom är det väldigt väl integrerat med Java och exekverar på Javas virtuella maskin.

Sedan Java 6 släpptes i december 2006 har det varit lite tyst runt Java. Visst, ekosystemet runt Java kokar över av aktivitet, och det finns mer open source projekt skrivna i Java än i något annat språk. Men själva språket Java har för den oinvigde sett lite övergivet ut, troligen beroende på att ett flertal nyckelpersoner på Sun bytt jobb, och att Sun kanske inte haft de resurser det brukar ha. I detta vakuum har ett flertal spännande språk klivit in, bland annat Groovy, JRuby, Jython , Clojure och Scala. Det som utmärker Scala är:

Integrationen med Java är mycket väl genomförd:

  • En Scalaklass kan ärva från alla klasser och interface i Java
  • Den typ av generics som finns i Java stödjs även i Scala
  • Kod skriven i Scala kan anropa kod i Java utan problem
  • Scalas kompilator, scalac, genererar .class filer som körs på Javas virtuella maskin
  • Eclipse, NetBeans och IntelliJ har alla pluginer för Scala

Scala lämpar sig dessutom väl för att skapa domänspecifika språk (DSL). De vanligaste datastrukturerna är oföränderliga (immutable) vilket är en utmärkt start om den ska exekvera bra mot flera kärnor.   På Crisp har vi följt Scala sedan 2007. Flera av oss är aktiva på den svenska mailinglistan Scala-Sweden och har hållit interna och externa Scala-kurser, bland annat på JavaForum i Göteborg 2008. Mats Henricson bloggar dessutom ofta om Scala. Vi tar gärna emot förfrågningar om Scala, utbildningar eller projekt.

Läs mer om Scala