Naučite funkcionalno programiranje
OPIS KNJIGE:
Savladajte kompleksnost programskog koda razmišljajući funkcionalno
U knjizi Naučite funkcionalno programiranje od Jacka Widmana, čitatelji se vode kroz fascinantni svet funkcionalnog programiranja s ciljem premošćavanja jaza između teorijskih koncepta i praktične primene u realnim programerskim izazovima. Widman detaljno istražuje kako se funkcionalno programiranje razlikuje od tradicionalnijih pristupa, kao što su objektno orijentisano i imperativno programiranje, pružajući čitateljima duboki uvid u filozofiju i prednosti ovog pristupa.
Knjiga obiluje praktičnim primjerima iz popularnih programskih jezika poput Jave, Pythona, C#, Scale i JavaScripta, omogućavajući programerima da primijene naučene koncepte na širok spektar projekata. Widman posebno naglašava kako funkcionalno programiranje može doprineti pisanju čistijeg, modularnijeg i lakše održivog koda kroz primenu funkcionalnih obrazaca dizajna i teorije kategorija. Čitatelji će naučiti kako efikasno kombinirati funkcionalne i objektno orijentisane paradigme za upravljanje složenosti i izgradnju robustnih softverskih rješenja.
Predgovor ix
Prvo poglavlje – Šta je funkcionalno programiranje? 1
Nepromenljivost 2
Referentna transparentnost 5
Funkcije višeg reda 7
Lenja evaluacija 8
Razmišljajte kao funkcionalni programer 9
Prednosti funkcionalnog programiranja 10
Funkcionalno programiranje može da unapredi produktivnost 11
Funkcionalno programiranje je zabavno! 11
Scala 12
Zaključak 13
Drugo poglavlje – Uvod u matematiku 15
Teorija skupova 15
Funkcije 16
Vrste funkcija 18
Osnove računarskih nauka 20
Anonimne funkcije 20
Funkcije kao objekti prve klase 21
Zaključak 21
Treće poglavlje – Teorija kategorija i obrasci 23
Obrasci zasnovani na teoriji kategorija 25
Kratak istorijat 26
Objekti i morfizmi 26
Primer kategorije 27
Kategorija Scal 31
Funktori 33
Formulisanje funktora u okviru programskog jezika 36
Obrasci 37
Obrazac Functor 38
Monoidi 39
Prirodne transformacije 41
Monade 43
Zaključak 45
Četvrto poglavlje – Funkcionalne strukture podataka 47
Struktura podataka Option 48
Struktura podataka Try 52
Struktura podataka Either 52
Funkcije višeg reda 54
Monade u for-konstrukcijama u Scali 55
Tradicionalne strukture podataka 57
Nepromenljivost i istorijat 57
Lenjost 58
Zaključak 58
Peto poglavlje – Još nešto o nepromenljivosti 59
Mutabilne i nemutabilne promenljive 59
Rekurzija 60
Primer povezane liste 61
Terminalna (tail) rekurzija 66
Još primera koji pokazuju kakvu moć ima fold u Scali 70
Veza između funkcije fold i monoida 71
Šta još možemo uraditi sa funkcijama višeg reda 74
Od map do flatMap 76
Zaključak 77
Šesto poglavlje – Pitanje konkurentnosti 79
Tokovi 83
Akka tokovi 83
Izvor 83
Protok 84
Izlaz 85
Još nešto o tokovima 85
FS2: Funkcionalni tokovi za Scalu 86
Zaključak 88
Sedmo poglavlje – Kuda ćemo dalje? 89
Ako krenemo čisto funkcionalnim putem 89
Monada IO 91
Ako krenemo srednjim putem 93
Jezici na Javinoj virtuelnoj mašini 93
.NET programski jezici 94
Klase tipova 94
Zaključak 99
Dodatak – Skala 101
Indeks 117
Kupci koji su kupili ovu knjigu kupili su i:
Cena: 1.100 rsd
Cena: 2.310 rsd
Cena: 2.860 rsd
Cena: 2.200 rsd
Cena: 2.420 rsd
Cena: 3.300 rsd
Cena: 3.200 rsd
Cena: 2.420 rsd
Cena: 432 rsd
Cena: 2.200 rsd
Cena: 2.970 rsd
Cena: 2.800 rsd
Cena: 2.000 rsd
Cena: 2.000 rsd