Jsem si jistý, že všichni znají metodu map
.
Jedná se o funkcionální přístup, který nahrazuji tento imperativní přístup:
A tohle je map
Věřím, že všem známý a na první pohled jasný příklad funkcionálního programování, kdy ani tak neříkám jak, ale co se má udělat.
A teď trochu jinak
Tak předně jsem přesvědčen o tom, že tento funkcionální přístup je pro tyto druhy výpočtu, nebo něčeho takového, asi lepším zápisem. Ale také se uvědomuji, že i spousta těch, co třeba už dnes po té co se od klasického PHP for loopu
dostali až sem, neví přesně co vidí, respektive co používají.
Výše zmíněný kód s funkcí map
se dá napsat i takto:
Furt to dělá to stejné, že?
Ale zápis už je jiný. Vlastně není.
Věděli jste, že parametrem metody map
je funkce? Jo jo, je mi to jasné. všichni kýváte, že samozřejmě ano…
Dyť přece funkcionální programování, vole….
Proč o tom vůbec píšu?
Jedním z důvodů je, že pokud si tento drobný, samozřejmý detail uvědomíte, pak můžete psát třeba i takto:
Líbí?
Pokud ano, pak máte nakročeno nejenom k tomu, že skutečně pochopíte funkcionální programování, ale že jednou budete schopni skutečně psát i větší aplikace a nezaseknete se, jako většina ve stádiu hele kámo, já umím procházet polem.
Takže ještě jednou: Proč?
Jak se chcete dostat k takovým věcem, jeko je modularizace kódu, jeho dekompozice, nebo možná třeba jen refaktoring, když neuvidíte věci jak je máte vidět?
Myslím si, že pokud se naučíte hledat drobnosti a budete skutečně vidět detaily, může se z vás jednou skutečně stát dobrý programátor