Esistono documenti sottoposti a revisione paritaria che studiano i pro ei contro della programmazione funzionale?


14

Qualcuno può riferirmi ad articoli peer-reviewed che studiano i vantaggi o gli svantaggi della scrittura di codice in uno stile funzionale? Esistono articoli che discutono delle applicazioni del calcolo Lambda in campi come l'apprendimento automatico, il design delle lingue, ecc.?


4
Ci sono due domande separate qui. Vorrei trasformare la seconda domanda in una nuova domanda.
Dave Clarke,

Risposte:


7

C'è un famoso articolo " Why Functional Programming Matters " di John Hughes. L'argomento principale di questo documento è la modularità dei programmi funzionali.

Inoltre, il lavoro di Chris Okasaki sulle strutture di dati funzionali è molto interessante. L'articolo "Alberi rosso-neri in un ambiente funzionale" fornisce un'implementazione molto chiara di alberi rosso-neri usando un linguaggio di programmazione funzionale, che è molto più semplice della loro imperativa implementazione nel libro "Introduzione agli algoritmi" di Tomas H. Cormen et al .



-1

un riferimento semifama di alta qualità e gratuito in quest'area è la struttura e l'interpretazione dei programmi per computer di Abelson e Sussman, professori del MIT, qualche informazione in più su wikipedia . sostengono la programmazione funzionale come un modo per comprendere la teoria e l'astrazione della programmazione in modo tale che la comprensione della programmazione funzionale aiuterà a comprendere / applicare gli stessi principi in qualsiasi lingua. fanno uno sforzo per discriminarlo / contrapporlo con quello che viene chiamato "stile imperativo", ma senza confronti diretti.


Quando leggo studiando i vantaggi o gli svantaggi della scrittura di codice in uno stile funzionale, penso a studi empirici osservando le differenze nella pratica. Non penso che questo libro abbia dei risultati al riguardo.
reinierpost,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.