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


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

Re: programmazione funzionale

Path csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.lang.javascript
Subject Re: programmazione funzionale
Date Sun, 6 Jan 2019 10:36:48 +0000
Lines 37
Message-ID <g9e420FitfnU1@mid.individual.net> (permalink)
References <q0rg98$rp7$1@gioia.aioe.org> <g9dtc4Fhg3qU1@mid.individual.net> <q0sisk$19ll$1@gioia.aioe.org>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace individual.net W7/AFBglhseAUvYeEUoG/gBd91MbNRlA7FY/8bHoYsgTmN2II=
Cancel-Lock sha1:6Vk55RF0F+TrSBF/TiLm93EGFK8=
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
In-Reply-To <q0sisk$19ll$1@gioia.aioe.org>
Content-Language en-GB
Xref csiph.com it.comp.lang.javascript:8294

Show key headers only | 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