Cos'è un sistema di effetti? [chiuso]

1

Ho letto questo articolo di Wikipedia , ma l'ho trovato abbastanza astratto. Come può un sistema di effetti aiutarmi come programmatore?

    
posta hfossli 24.02.2016 - 09:59
fonte

1 risposta

7

Un sistema di effetti è per s che è per s.

Un sistema di effetti tiene traccia degli effetti delle subroutine, classifica le subroutine in modo esente da effetti ed efficace (e probabilmente quale tipo di effetti ha una subroutine), traccia gli effetti tra le chiamate subroutine ecc.

La stragrande maggioranza delle lingue non si preoccupa degli effetti. Alcune lingue, come o Pulisci gli effetti del modello come tipi. Tuttavia, anche gli effetti di tracciamento separatamente dai tipi sono una possibilità. ha un sistema di effetti semplici (molto limitato): le eccezioni sono effetti collaterali e Java ha controllato le eccezioni , che sono un'estensione dei tipi di . Nella ricerca, i sistemi di effetti sono stati impiegati per fare cose come assicurare il corretto blocco delle strutture di dati nei programmi concorrenti, per esempio.

Ha senso (o non ha senso) tracciare gli effetti per le stesse ragioni per cui ha senso (o non senso) per tracciare i tipi - anzi, i programmatori funzionali direbbero che gli effetti dovrebbero essere parte del tipo comunque: robustezza, sicurezza , documentazione, correttezza, manutenibilità, ottimizzazione, ecc.

    
risposta data 24.02.2016 - 10:53
fonte

Leggi altre domande sui tag