Funkcionalno programiranje u Swift jeziku

Funkcionalno programiranje je deklarativna programska paradigma zasnovana na lambda računu, u kojoj se programi tretiraju kao niz matematičkih funkcija. Iako poseduje nekoliko važnih praktičnih prednosti u odnosu na proceduralno programiranje, paradigma je do nedavno bila slabo prisutna u jezicima koji su najzastupljeniji u industriji, najverovatnije zbog svojih akademskih korena i stroge matematičke terminologije. Ovo se poslednjih godina polako menja sa pojavom modernih funkcionalnih jezika kao što su Scala i Clojure (koji mogu da se koriste na Java platformi), F# (.NET platforma) itd.

Swift je novi programski jezik razvijen u kompaniji Apple. Razvoj Swift-a je započet 2010. godine, a prva verzija je objavljena u junu 2014. godine. Dugoročni cilj njegovih autora je da zamene vremešni Objective-C jezik za razvoj iOS i OS X aplikacija. Nakoliko osobina Swift jezika, kao što su funkcije prvog reda, sofisticirani sistem tipizacije, lambda izrazi, korišćenje Karijevih funkcija i parcijalna aplikacija, algebarski tipovi podataka itd, čine jezik posebno pogodnim za pisanje funkcionalnih programa. U ovom radu su analizirane prednosti i mane primene funcionalnih svojstava Swift jezika za razvoj iOS i OS X aplikacija.

Pomenuta svojstva su upoređena sa ekvivalentnim svojstvima programskih jezika Haskell i F#. U radi je pokazano da se Swift, u praksi koristi za pisanje kraćih, elegantnijih i sigurnijih programa, koji su lakši za održavanje, nadgradnju i testiranje. Međutim, takođe se pokazuje da funkcionalni stil u pojedinim slučajevima dovodi do smanjenih performansi u odnosu na ekvivalentni imperativni kôd, te se o tome mora voditi računa. Često postoji više načina da se odgovarajuća funkcionalna apstrakcija implementira (npr. korišćenjem operatora, globalnih funkcija ili metoda). U radu su analizirani, različiti mogući pristupi radi odabira onih koji su prirodniji za Swift jezik sa tehničke i praktične strane.

Autor: Ivica Milovanović

Mentor: prof. dr Dušan Tošić 

Ovde možete pročitati rad u celosti

 

3618-funkcionalno-programiranje-u-swift-jeziku

sbobet88 slot agb99 situs slot slot777 toto AMANAHTOTO slot SLOT GACOR AMANAHTOTO toto slot88 ASIA200 ASIA200 ASIA200 bayijudy.com situs resmi bayitoto slot gacor popotogel login situs slot eropa99 hoki99 roma77 babe138 roma77 roma77 hoki99 abadicash