Tutto il codice può essere rappresentato come una serie di operazioni Map / Filter / Reduce?

16

Recentemente ho eseguito il refactoring di grossi blocchi di codice e li ho sostituiti con le query di Linq.

Rimozione del bias della lingua - Linq è essenzialmente un insieme di funzioni Mappa / Filtro e Riduci che operano su una sequenza di dati.

Questo mi ha fatto pensare, fino a che punto sarei in teoria in grado di prendere questo. Sarei in grado di riscrivere l'intera base di codice in una serie (o anche una sola) di operazioni Map / Filter e Reduce.

Purtroppo mi pagano per fare cose utili, quindi non sono stato in grado di sperimentare molto più avanti, ma non riesco a pensare a nessuna struttura di codice che non possa essere strutturata come tale. Il codice side effect può essere gestito tramite monadi. Anche l'output è essenzialmente il mapping degli indirizzi di memoria agli indirizzi dello schermo.

C'è qualcosa che non può essere (teoricamente) riscritto come una query di Linq?

    
posta Mongus Pong 16.11.2011 - 15:24
fonte

1 risposta

1

Si chiama programmazione funzionale ed è considerato da molti un concetto fondamentale. Ecco una buona introduzione su Joel On Software . La risposta più tecnica è no, non esiste un modo attualmente conosciuto per porre domande al computer (in un modo ben definito) a cui non è possibile rispondere tramite il calcolo degli SKI.

    
risposta data 16.11.2011 - 20:31
fonte

Leggi altre domande sui tag