Scala

 Scala  Šį puslapį ar jo dalį reikia sutvarkyti pagal Vikipedijos standartus – neenciklopedinis stilius
Jei galite, sutvarkykite.

 Scala  Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.

Scala – 2003 m. sukurta programavimo kalba, sukurta glaustai išreikšti dažniausius programavimo šablonus, struktūras. Ji turi tiek objektiškai orientuotų, tiek funkcinių kalbų savybes. Kalba sukurta Programming Methods Laboratory of EPFL, jos autorius – Martin Odersky. Scala yra griežtai tipizuota, jai įtakos turėjo Smalltalk, Java, Haskell, Standard ML, Objective Caml programavimo kalbos.

Pavyzdys

Klasikinė „Sveikas pasauli“ programa Scala kalba:

object SveikasPasauli {  def main(args: Array[String]) =    Console.println(„Sveikas, pasauli“)  } 

Sintaksė panaši į Java kalbą. Pagrindiniai skirtumas – tai, kad nereikia naudoti static, void žodžių. Bazinis žodis object grąžina vienintelį (singleton) objektą.

Programos kompiliavimas komandinėje eilutėje, jei programa išsaugota faile SveikasPasauli.scala :

> scalac SveikasPasauli.scala 

Programos paleidimas:

> scala -classpath . SveikasPasauli 

Savybės

Objektinės savybės

Scala yra gryna objektikškai orientuota kalba, tuo požiūriu, kad kiekviena reikšmė yra objektas. Tipai ir objektų elgsena aprašoma klasėmis ir savybėmis (trait).

Funkcinis programavimas

Scala taip pat funkcinė kalba – kiekviena funkcija yra reikšmė. Scala palaiko anonimines funkcijas, aukšto lygio funkcijas, curring ().

Scala šablonų sulyginimas (pattern matching) natūraliai leidžia apdoroti XML duomenis, naudojant reguliarias išraiškas. Tai taip pat naudinga formuojant užklausas. Šios savybės idealiai[reikalingas šaltinis] tinka aplikacijų, pvz., web servisų, kūrimui.

Statiniai tipai

Scala turi išraiškingą tipų sistemą, statiškai užtikrinančią, abstrakcijų saugių panaudojimą. Tipų sistema palaiko:

  • Bendrines (generic) klases
  • Kintamųjų anotacijas
  • Minimalias, maksimalias tipų ribas
  • Klases, ir abstrakčius tipus kaip objektų narius
  • Jungtinius tipus
  • Tiesiogiai tipizuotas nuorodas į save
  • Vaizdus
  • Polimorfinius metodus

Išplečiamumas

Praktikoje, kuriant tam tikrai sričiai specifines aplikacijas, dažniausiai riekia su sritim susijusių kalbos išplėtimų. Scala į ta atsižvelgia ir leidžia paprastai sukurti naujas kalbos konstrukcijas naudojant bibliotekas:

Bet kuris metodas gali būti panaudojamas kaip infix arba postfix operatorius

Uždarymas (closure) suformuojami automatiškai, priklausomai nuo laukiamo tipo (adresato tipizavimas).

Bendras abiejų savybių panaudojimas leidžia aprašyti naujus sakinius neišplečiant sintaksės, ir nenaudojant į makrokomandas panašias metaprogramavimo konstrukcijas.

Nepriklausymas nuo platformos

Scala sukurta veikti kartu su tokiomis programavimo aplikacijomis kaip JRE ir. NET CLR. Bendravimą su populiariausių objektiškai orientuotų kalbų (Java ir C#) bibliotekomis mėginta padaryti kiek galima paprastesnį.

Scala naudoja tokį patį kompiliavimo būdą (atskirtas kompiliavimas, dinaminis klasių užkrovimas), kaip ir Java, C#.

Nuorodos

 Scala   Šiame straipsnyje naudojami diskutuotini terminai.
Daugiau apie kompiuterinius terminus skaitykite žodynėlyje.

Tags:

Scala PavyzdysScala SavybėsScala NuorodosScala

🔥 Trending searches on Wiki Lietuvių:

VėdrynasKšyštof LavrinovičWilliam ShakespeareKuršių nerijaLietuvos herbasBiologinė klasifikacijaRaseiniaiPietų AmerikaLietuvos vyriausybėŠakiaiLietuvos miestaiMozėGediminaičių dinastijaKasa2008Vėžys (liga)TrombocitasJonas (dalelė)PingvininiaiFree FingaKaspinuočiai1989 m.HektarasJonas BiliūnasNataLietuvos ežeraiViktoras UspaskichGeležinė uždangaIšmanusis telefonasNaujausieji laikaiGražina (poema)MėnulisVidutinė gyvenimo trukmėAspergerio sindromasPriedėlisRenesansasInterferencijaLietuvos klimatasLyginiai ir nelyginiai skaičiaiKristijonas DonelaitisPietų KorėjaBalandisDešimt Dievo įsakymųTrąšosUrbanizacijaMeninės raiškos priemonės1978Simono Daukanto aikštėPusdalyvisRespublikaGabrielius Landsbergis (1982)KlaipėdaLygiagretainisŽemės drebėjimasMilano OlimpiaLietuvos vėliavaPaskutinė vakarienė (Leonardas da Vinčis)Visvaldas MatijošaitisAntanas BaranauskasDalyvis (gramatika)Mona LizaPlėšrieji žinduoliaiMaršalo planasVisuotinė lietuvių enciklopedija1947Pietų Afrikos Respublika2000Trakų salos pilisKamieninė ląstelėDauno sindromas1925🡆 More