Funkcionalno programiranje Scala



Scala je funkcionalni programski jezik, koji također integrira objektno orijentirano programiranje. Ovaj post uglavnom pokriva njegove funkcionalne programske značajke.

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