Scala (programmeringssprog)
Scala er et fler-paradigmatisk programmeringssprog, der både integrerer egenskaber fra objektorienteret og funktionel programmering. Navnet stammer for det første fra det italienske ord scala, der oversættes til trappe, og refererer til at man med sproget træder op på et nyt niveau af programmering[1]. For det andet henviser det til det engelske ord for skala (scale), der indikerer at sproget kan bruges til projekter i enhver tænkelige skala.
Platform
Scala er dybt inspireret af Java og er fuldt ud kompatibel med Javas Virtual Machine (JVM). Ud over Javas objektorienterede struktur, benytter scala sig af funktionelle begreber såsom currying[note 1], pattern-matching[note 2] og anonyme funktioner[note 3]. Scala er som Java statisk typet. Sproget er udgivet under BSD.
Historie
Scala er udviklet og udtænkt af Martin Odersky, der er ansat på École Polytechnique Fédérale de Lausanne (EPFL) i Schweiz. Udviklingen begyndte i 2001, og udgivet i slutningen af 2003 / starten af 2004[2]. Scala er løbende blevet udviklet, og er i oktober 2009 nået til version 2.7.7.
Hello World eksempel
object HelloWorld extends Application {
println("Hello World!")
}
eller
object HelloWorld {
def main(args : Array[String]) {
println("Hello World!")
}
}
Disse to eksempler kan kompileres ved hjælp af scalas compiler ved at skrive følgende i en konsol (det antages at filen er døbt "HelloWorld.scala"):
> scalac HelloWorld.scala
For at eksekvere programmet tilføjes på ny linje:
> scala -classpath . HelloWorld
Frameworks der benytter Scala
- Lift (framework) er et omfattende framework, der er beregnet til at skabe dynamiske web-applikationer. Lift selv fremhæver sikkerhed, vedligeholdelse og performance, som nogle af deres primære fokuspunkter[3].
Se også
Eksterne henvisninger
Kilder
- ^ Frequently Asked Questions - General | The Scala Programming Language
- ^ Martin Odersky et al., An Overview of the Scala Programming Language
- ^ Lift – The Simply Functional Web Framework – Home
Noter
- ^ Udtrykket stammer fra den russiske logiker og matematiker Moses Schönfinkel, der påpegede at en funktion med t eller flere argumenter, kunne erstattes med en funktion der kun modtog et. Denne ide blev senere udviklet af den amerikanske logiker og matematiker Haskell Curry, deraf navnet.
- ^ Pattern-matching - kan direkte oversættes til "mønster-søgning" - vedrører det at søge efter specifikke mønstre i en given kode. Denne form for operation forbindes ofte med funktionel programmering, da konceptet ofte ses mere udviklet i disse sprog end andre. Idéen kan dog principielt tilføres alle former for programmeringsparadigmer.
- ^ Anonyme funktioner vedrører evnen til at erklære funktioner, der ikke er givet et unikt navn. Denne egenskab bliver primært brugt i forbindelse med funktionalitet, der kun har et lille anvendelses-område, og derfor ikke har brug for at blive navngivet.