From Wikipedia, the free encyclopedia
Scala ( /ˈ s k ɑː l ɑː / SKAH-lah ) [2] [3] ë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, [4] shumë nga vendimet e projektimit të Scala-s synojnë të adresojnë kritikat ndaj Java-s .
Scala-full-color.svg | |
Paradigma | Multi-paradigm: concurrent, functional, imperative, object-oriented |
---|---|
Viti i paraqitjes | 20 janar 2004 |
Dizajnues | Martin Odersky |
Zhvillues | Laboratori i Metodave të Programimit i École Polytechnique Fédérale de Lausanne |
Disiplina e shkrimit | Inferred, static, strong, structural |
Ndikoi në | Ceylon, Chisel, Fantom, F#, C#, Kotlin, Lasso, Red, Flix |
Licenca | Apache 2.0[1] |
Faqja | www |
Scala at Wikibooks |
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. [5]
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. [6]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.