Perché la programmazione funzionale - Quando è opportuno eliminare l'efficienza per la leggibilità?

3

Stavo leggendo articolo Death of for-loop , e ho pensato forse dovrei timeit i codici. Ho creato questo benchmark a jsperf che mostra chiaramente che l'approccio map-filter è di circa il 90% più lento.

Quindi, perché il codice FP qui è più lento? e anche, perché essere funzionale se è più lento?

L'autore parlava solo di leggibilità quando si parla di FP e non di efficienza o altri fattori di esecuzione quando nel mondo reale, sono i parametri preferiti.

Rifrazione, quali sono i fattori del mondo reale per utilizzare la programmazione funzionale oltre alla leggibilità?

Perdonami per essere stato pigro prima. Non sono veramente uno scrittore e ho difficoltà ad esprimere i miei pensieri in forma scritta.

Aggiunto: ho trovato questo video MPJ che ho trovato anche utile.

    
posta Harsh Gupta 26.01.2017 - 18:54
fonte

1 risposta

20

Come alcune persone hanno già spiegato nei commenti, il modo in cui hai fatto i tuoi benchmark li rende irrilevanti. Se, tuttavia, esisteva un benchmark effettivo che mostrava che la variante funzionale era effettivamente più lenta, allora continua a leggere.

The author was only talking about readability when it comes to FP and not efficiency or other execution factors when in real world, they are the preferred parameters.

Non è giusto.

Nel mondo reale, per la maggior parte delle applicazioni, alcuni microsecondi che è possibile ottimizzare per un'attività eseguita da un utente dieci volte al giorno non significa molto. In realtà, non significa niente. In altre parole, tale ottimizzazione è completamente irrilevante per il tuo prodotto.

Tuttavia, il tempo speso:

  • Ottimizzazione,
  • Codice di lettura che è illeggibile,
  • Correzione del codice illeggibile contenente bug, a causa della sua illeggibilità,
  • Correzione dei bug introdotti in un codice illeggibile

porta a ore, giorni, settimane e mesi di lavoro aggiuntivo, che si traduce direttamente in migliaia di dollari sprecati durante la produzione e la manutenzione del prodotto.

Pertanto, la leggibilità è il parametro preferito nel mondo reale, perché in esso sono coinvolti veri soldi.

    
risposta data 26.01.2017 - 20:19
fonte

Leggi altre domande sui tag