( BaT | 2015. 01. 03., szo – 14:27 )

"Az, hogy funkcionalis programozasi nyelvek autista fejlesztoi talaltak ki, mert soha az eletben nem gondoltak meg arra, hogy alkalmazasok debuggolasanal fontos lehet atlatni, hogy mi kap hamarabb erteket es mi mi utan kovetkezik, definialodik."

Sokan elfelejtik, hogy a funkcionális programozáshoz elengedhetetlen az immutabilitás. Van is erre egy jó kifejezés (ami nem jut az eszembe), hogy ha egy függvénynek nincs side effectje, akkor egy függvényhívás behelyettesíthető a visszatérési értékkel, vagyis a teljes program végül redukálható egyetlen értékre. (Nyilván a valóságban szükség van side effectekre (pl. logging), ezeket megfelelően elszeparálva kezelhető marad a program.)

A javascript azért egy nagyon szerencsétlen nyelv, mert a funkcionális programozás egyetlen elemét támogatja, a closure-t. Persze itt nem is funkcionális programozásról beszélsz, hanem event drivenről, amihez az elég is.