Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.javascript > #8294

Re: programmazione funzionale

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.lang.javascript
Subject Re: programmazione funzionale
Date 2019-01-06 10:36 +0000
Message-ID <g9e420FitfnU1@mid.individual.net> (permalink)
References <q0rg98$rp7$1@gioia.aioe.org> <g9dtc4Fhg3qU1@mid.individual.net> <q0sisk$19ll$1@gioia.aioe.org>

Show all headers | View raw


On 06/01/2019 09:48, son wrote:

> Ma non riesco a scrivere il mio codice assemblando delle funzioni pure.
> Per esempio, in questo articolo
> https://medium.com/the-renaissance-developer/concepts-of-functional-programming-in-javascript-6bc84220d2aa
> si dice che le funzioni pure non dovrebbero usare oggetti globali.
> 
> Ebbene, io non ci riesco. Scrivo programmini di animazione usando la 
> libreria D3, che più o meno sono formulati così:

Premetto che non conosco quasi per niente D3.js, ma se è pensato per
lavorare con oggetti mutabili, sarà abbastanza difficile adattarlo a
funzioni pure.

In particolare per UI in generale (e per i giochi in particolare) si sta
affermando più il "paradigma" ECS che non la programmazione funzionale pura.

Per D3, probabilmente uno dei modi potrebbe essere di avere una lista
degli oggetti originali, e passarli uno per uno (via map()) alle
funzioni che prendono i valori dell'oggetto originale e creano nuovi
oggetti con i valori leggermente modificati, e alla fine ricreare da
zero l'oggetto svg e mapparlo sul DOM.

Probabilmente ammazzerà le prestazioni e introdurrà glitch di animazione. :)

Ho trovato questo:
https://skillsmatter.com/skillscasts/7342-immutable-js-d3-js

che sembra spiegare come integrare d3 con immutable.js e react, ma non
conoscendo d3 non ci capisco tantissimo.

Secondo me la tua soluzione di modificare gli oggetti uno per uno non è
male. Sì, violi l'immutabilità, ma perché D3 richiede che gli oggetti
siano mutabili.

Bye.

Back to it.comp.lang.javascript | Previous | NextPrevious in thread | Find similar


Thread

programmazione funzionale son <son@mailnesia.com> - 2019-01-06 00:57 +0100
  Re: programmazione funzionale Alessandro Pellizzari <shuriken@amiran.it> - 2019-01-06 08:42 +0000
    Re: programmazione funzionale son <son@mailnesia.com> - 2019-01-06 10:48 +0100
      Re: programmazione funzionale Alessandro Pellizzari <shuriken@amiran.it> - 2019-01-06 10:36 +0000

csiph-web