Naglasak u funkcionalnom stilu programiranja stavlja se na funkcije i rezultate evaluacije umjesto na redoslijed pojavljivanja operacija. Dominantna je paradigma jezika koja je u suprotnosti s imperativnim stilom programiranja. Scala je funkcijski programski jezik jer podržava funkcionalno programiranje. Iako je poznato da je Scala spoj objektivno orijentiranog programiranja i funkcionalnog programiranja, ovdje ćemo govoriti o njegovom funkcionalnom programskom dijelu. Slijede neke od njegovih funkcionalnih značajki programiranja:
- Funkcionalni jezik, Scala ne dopušta nijedno promjenjivo stanje jer stvara problem sinkronizacije na njegovom zajedničkom pristupu.
- Scala podržava ovaj model sa svojom bibliotekom Actors, ali omogućuje i promjenjive i nepromjenjive varijable.
- Biblioteka glumaca je jedan od načina, ali inače vam Scala pruža konstrukcije na takav način da biste obično trebali stvarati valove, a ne vare. Sugerira da Scala idealno djeluje u smislu konstanti, a ne u smislu varijabli. Ako ih stvarno ne trebate, ne biste trebali stvarati vare u Scali. To je izvorna značajka funkcionalnog stila programiranja, a ne objektno orijentiranog stila programiranja.
- Funkcije su 'prvorazredni' građani u funkcionalnom programiranju. Oni se tretiraju baš kao varijable.
- Funkcija može biti:
- dodijeljena varijablama.
- prelazi na varijable.
- prešao na drugu funkciju.
- napisano unutar funkcije.
- Sve u Scali je objekt, čak i uključene funkcije.
- Slično kao i Python i Ruby, zatvarači se nude i u Scali.
Okviri u Scali
Scala nije jezik koji doista učite samo za Spark. Postoji nekoliko drugih okvira koji se razvijaju u Scali. Neki od njih su:
Iskra - obrada u memoriji
Apache Spark je računalni sustav klastera u memoriji opće namjene. Koristi se za analitiku podataka i apstrahira API-je u Javi, Scali i Pythonu, a pruža optimizirani mehanizam koji podržava opće grafikone izvršenja.
Play - za web razvoj
što je sas programski jezik
Riječ je o visokoproduktivnom okviru Java i Scala web aplikacija koji integrira komponente i API-je potrebne za moderni razvoj web aplikacija.
Skaliranje - za mapu / smanjenje
Scalding je Scala biblioteka koja olakšava određivanje zadataka Hadoop MapReduce. Scalding je izgrađen na vrhu Cascadinga, Java knjižnice koja apstrahira detalje niske razine Hadoop-a.
Akka - Okvir zasnovan na glumcima
Akka je set alata i vremena izvođenja za izgradnju istodobnih, distribuiranih i otpornih aplikacija na JVM. Akka je napisana na skali.
Imate pitanje za nas? Spomenite ih u odjeljku za komentare i javit ćemo vam se.
Vezane objave
db preglednik za sqlite pregled