( haspokember | 2017. 02. 02., cs – 22:40 )

Nem tudom, lehet, csak bal labbal keltem, de ez szerintem edeskeves.

Nem sokat er az adatfolyamban valo gondolkozas, ha a processzben barhol labon loheted magad egy megfeleloen elhelyezett mutalassal (ezt hogy mondjak egy szoval magyarul?), 5 fuggveny melyen, lehetoleg egy parhuzamosan vegrehajtott utasitashalmazban.

Vereset pisilhetsz, de ha peldaul a keretek olyanok, hogy kotelezoen mutable valtozoid / objektumaid vannak (lasd Java szerializacios frameworkok), a funkcionalis programozas csak mese. Nem veletlen, hogy a Pythont a fonok kifejezetten nem funkcionalis programnyelvnek tartja / szanta, es az sem veletlen, hogy a Javaban nagyon lehatarolt teruleten van csak "adatfolyam", explicit bemenettel-kimenettel.

Raadasul rendesen megtamogatott immutable collection keszlet nelkul a fene megette az egeszet. Mert ugye ugy mukodne a dolog, hogy a fuggvenyed egy collection-t kap parameternek, es ugy modositja, hogy lemasolja a megvaltozott ertekkel. Ha a kedvenc programnyelved es/vagy konyvtarad szerint ez full copyt jelent, akkor igy jartal, te csak ne akarjal itten hipszterkedni, baratom!

Egyebkent Li Haoyi nagy arc, szeretjuk, tiszteljuk, becsuljuk, de nem ezert az irasaert :)

Eddig meg legjobban Rich Hickey fogalmazta meg a lenyeget, a Clojure's Approach to Identity and State cimu orokbecsu eloadasaban, valamikor 10 evvel ezelott (vagy meg nincs annyi? egy eletnek tunik).

Az immutability (vagyis hogy egy dolog mindig "identity", es a state az identityken valo ugralast jelent) szerintem igenis fontosabb, mint az adatfolyam. Ugyanis ha immutable vagy, akkor szuksegszeruen csak bemenet-kimenet valtozasban tudsz gondolkodni, viszont forditva ez nem igaz. Ha mar filozofalgatunk :)