Scala (gjuhë programimi)

Scala ( /ˈ s k ɑː l ɑː /  )   është një gjuhë programimi me qëllime të përgjithshme të nivelit të lartë e shtypur statikisht dhe e fortë që mbështet programimin e orientuar nga objekti dhe programimin funksional . E dizenjuar për të qenë koncize,  shumë nga vendimet e projektimit të Scala-s synojnë të adresojnë kritikat ndaj Java-s . 

Kodi burimor i Scala-s mund të përpilohet në kodin Java dhe të ekzekutohet në një makinë virtuale Java (JVM). Scala gjithashtu mund të transpilohet në JavaScript për të ekzekutuar në një shfletues (ang. browser), ose të përpilohet drejtpërdrejt në një ekzekutues origjinal. Kur ekzekutohet në JVM, Scala ofron ndërveprim gjuhësor me Java në mënyrë që libraritë e shkruara në secilën gjuhë të mund të referohen drejtpërdrejt në kodin Scala ose Java.  Ashtu si Java, Scala është e orientuar nga objekti dhe përdor një sintaksë të quajtur "kllapa gjarpërushe" e cila është e ngjashme me gjuhën C. Që nga Scala 3, ekziston gjithashtu një opsion për të përdorur rregullin jashtë krahut (dhëmbëzimi) për të strukturuar blloqet dhe këshillohet përdorimi i tij. Martin Odersky ka thënë se ky doli të ishte ndryshimi më produktiv i prezantuar në Scala 3. 

Ndryshe nga Java, Scala ka shumë veçori të gjuhëve funksionale të programimit (si Scheme, Standard ML dhe Haskell ), duke përfshirë currying, pandryshueshmërinë, vlerësimin dembel dhe përputhjen e modeleve . Ai gjithashtu ka një sistem tipi të avancuar që mbështet lloje të të dhënave algjebrike, kovariancë dhe kontravariancë, lloje të rendit më të lartë (por jo lloje të nivelit më të lartë ), lloje anonime, mbingarkesë operatori, parametra opsionalë, parametra të emërtuar, stringa të papërpunuara dhe një përjashtim eksperimental vetëm version i efekteve algjebrike që mund të shihet si një version më i fuqishëm i përjashtimeve të kontrolluara të Java. 

Emri Scala është një portmanto scalable dhe language, që nënkupton se është krijuar për t'u rritur me kërkesat e përdoruesve të saj. 

 Shembuj 

 Shembull "Hello World". 
Programi Hello World i shkruar në Scala 3 ka këtë formë:@main def main() = println("Hello, World!")Ndryshe nga aplikacioni i pavarur Hello World për Java, nuk ka asnjë deklaratë klase dhe asgjë nuk deklarohet të jetë statike.

Kur programi ruhet në skedarin HelloWorld.scala, përdoruesi e përpilon atë me komandën:
 $ scalac HelloWorld.scala
dhe e ekzekuton atë me
 $ scala HelloWorld

Kategoria:Gjuhë programimi