Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Noweargumentyzaprogramowaniemfunkcyjnym5
oprogramowania.Oniskoncentrująsięnawstawianiucorazwięcejrdzeni
dokości,aprogramiścimuszątakprzerobićswojeprogramy,abywykorzystać
możliwościprzetwarzaniarównoległegowichukładach”.
Impet,jakizyskałoFPnapoczątkuXXIwieku,wynikałzchęcioderwaniasię
odmodelusekwencyjnego,przyczymzaoferowanezostałyżnepodejścia.
Osoby,którezainwestowaływielewumiejętnościinarzędziawJavie,nie
chciałyodkładaćnabokbibliotekkodów,umiejętnościinarzędzi,naktórych
sięopierały,mogłyużywaćjęzykaScalaMartinaOderskylego,ostatniowpro-
wadzonegonaplatformieJavy.Zaoferowanogoteżnaplatformie.NET,choć
(niestety)zaniechanojegowsparciaw2012roku.Użytkownicy.NETpowinni
raczejprzymierzaćsiędoF#,utworzonegoprzezDonaSymelazMicrosoft
Research.Ktochcemiećczystofunkcyjnyjęzyk,możeskorzystaćzErlang,
opracowanegodlawysocerównoległegoprogramowaniaprzezJoeArmstronga
zEricssona,zjęzykaHaskelllubwieluinnychmożliwości.
Tym,cooferująwszystkietejęzyki,jestmożliwośćpracywparadygmacie
funkcyjnym.Dwiepodstawowecechyparadygmatufunkcyjnegotopotrakto-
waniewszystkichobliczeńjakowyznaczaniawartościfunkcyjnychorazuni-
kaniezmianystanuimutowalnychdanych.Alesąteżinnewspólnecechy
programowaniafunkcyjnego:
funkcjepierwszoklasowefunkcjemogąsłużyćjakoargumentyiwyniki
funkcji;
rekurencjajakopodstawowenarzędzieiteracji;
szerokiestosowaniedopasowywaniadowzorców;
leniwewartościowanie,copozwalanatworzenienieskończonychciągów.
Programiściiteracyjni,którzyporazpierwszystykająsięzFP
,mogąjeszcze
dodaćjestonowolneiniejasne.Wistocieżadnaztychopiniiniewystępuje
zawsze,alewymagatozmianysposobumyśleniaoproblemachiżnychalgo-
rytmach.Abyprogramydziałałyodpowiednio,musząmiećlepszewsparcieze
stronyjęzykaniżto,którebyłopowszechnewpierwszejdekadzieXXIwieku.
Tosięzmieniwkolejnymdziesięcioleciu,awrazztymzmieniąsięprzyczyny,
dlaktórychFPprzyciągaludzidosiebie.
Noweargumentyzaprogramowaniemfunkcyjnym
Poupływiedekadyponowniewróciłasprawaprogramowaniafunkcyjnego.
PojawiłosięnowewsparciejęzykoweisprawaFPstałasięszersza.
Chociażrównoległośćbyłatradycyjniesiłąnapędowąprogramowaniafunkcyj-
nego,terazgdymówisięoFP
,częściejodwołujesiędozdolnościspojrzenia
naproblemnawyższympoziomieorazozaletachniemutowalności.Zamiast