Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Poprawienieczytelnościieliminacjawielupomyłekprowadzącychdobłędów,
jaktosugeruję,wymagadużowięcejwysiłkuorazczasemwięcejkodu.Uczciwie
mówiąc,gdyzaczynałempisaćksiążkę,niepotrafiłbymnapisać(iwpełnizro-
zumieć!)drugiegofragmentukodu.Teraz,gdyjestemdużodalejwswojejnauce,
jestonbardziejnaturalnyiwygodny.
Jeśliktośmanadzieję,żeprzejścienaFPzadziałajakmagicznaróżdżkaiszyb-
koprzekształcikodnaprzyjemniejszy,elegantszy,mądrzejszy,bardziejodporny
izwięzłyiżetopójdziełatwowkrótkimterminietoniestetynieto
realistyczneoczekiwania.
FPróżnisiębardzosposobemmyśleniaotym,jakapowinnabyćstrukturakodu,
abyprzepływdanychbyłbardziejoczywistyipomagałczytelnikompodążaćza
naszymmyśleniem.Topotrwa.Tenwysiłekjestzdecydowaniewartzachodu,
alemożetobyćniełatwapodróż.
Wciążczęstopotrzebujękilkuprób,abyzrefaktoryzowaćfragmentkoduimpe-
ratywnegonabardziejdeklaratywnykodFP
,zanimudamisiędojśćdoczegoś,
cojestdostateczniejasne,abymzrozumiałtopóźniej.Doszedłemdowniosku,
żeprzechodzenienaFPtopowolnyprocesiteracyjny,anieszybkieprzełączenie
sięzjednegoparadygmatunainny.
StosujęteżtestDpóźniejtegonaucz”dokażdegokawałkanapisanegoprzezsiebie
kodu.Pozapisaniakawałkakoduzostawiamgonakilkagodzinlubdni,apo-
tempróbujęodczytaćnaświeżo,udając,żechcękogośnauczyćlubmuwytłu-
maczyć.Zwyklenapoczątkujesttopogmatwaneimylące,więctopoprawiam
ipowtarzam!
Niepróbujęnikogozdołować.Chciałbym,żebykażdypoczułbluesa.Cieszęsię,że
mniesięudało.Mogęwreszciezobaczyć,jakpokazanakrzywazaginasięwgórę
wkierunkulepszejczytelności.Wysiłeksięopłacił.Iopłacisiękażdemu.
Perspektywa
WiększośćinnychtekstównatematFPprzyjmujepodejścieDodogółudoszczegó-
łu”,aletupójdziemywprzeciwnymkierunku:idącodpodstawwgórę,będziemy
odkrywaćnajważniejszezasady,którezapewneprzezformalistówFPzostałyby
uznanezarusztowaniedlawszystkichichdziałań.Alewiększośćczasubędziemy
trzymaćsięzdalaodnajbardziejprzerażającejterminologiiinotacjimatematycz-
nej,któretakłatwofrustrująuczącychsię.
Uważam,żemniejważnejest,jakcośnazywamy,aważniejszejestzrozumie-
nie,czymtojestijaktodziała.Niemówiętu,żewspólnaterminologianiema
8
Rozdział10Dlaczegoprogramowaniefunkcyjne?