Scala


Scala je statički programski jezik opšte namene koji podržava i objektno orijentisano programiranje i funkcionalno programiranje. Dizajniran je tako da bude sažet, a mnoge odluke pri dizajnu Skale bile su inspirisane kritikama nedostataka Jave.

Predviđeno je da se izvorni kod Skale kompajlira u Java BiteCode-u, tako da rezultirajući izvršni kod radi na Java virtuelnoj mašini. Java biblioteke mogu da se koriste direktno u Skala kodu i obrnuto (interoperabilnost jezika). Kao i Java, Skala je objektno-orijentisana, i koristi sintaksu koja podseća na C (programski jezik).

Za razliku od Jave, Skala ima mnogo karakteristika funkcionalnih programskih jezika kao što su Scheme, Standard ML i Haskel, uključujući kjuring, podrazumevane tipove podataka, nepromenljivosti, lenje evaluacije, i patern mečing. Takođe ima napredni sistem tipova podataka koji podržava algebarski tip podataka, kovarijansu i nekovarijansu, tipove višeg reda (ali ne i tipove višeg ranga), i anonimne tipove. Ostale karakteristike Scale ne postoje u Javi, uključujući preklapanje operatora, fakultativne parametre, nazvane parametre, sirove stringove, i neproverene izuzetke.

Ime Scala je kovanica engleskih reči skalabilnost i jezik, što znači da je dizajnirana da raste sa zahtevima svojih korisnika.