Из техничких разлога садржај читалишта можете пратити искључиво на латиници.

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. Nekoliko 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 radu je pokazano da se Swift, kao funkcionalni jezik, može u svakodnevnoj praksi koristiti 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 voditirač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