|
Documento PDF (Thesis)
Disponibile con Licenza: Creative Commons: Attribuzione - Non commerciale - Non opere derivate 4.0 (CC BY-NC-ND 4.0) Download (461kB) |
Abstract
L’evoluzione dei modelli asincroni in JavaScript ha seguito un percorso di crescente astrazione per arrivare alle attuali Promise e al paradigma async/await, ma non ha ancora risolto alcuni limiti strutturali legati al controllo del flusso asincrono, sia da un punto di vista di gestione che di leggibilità. Questi limiti emergono con particolare evidenza nelle applicazioni moderne, dove la prevedibilità data dalla leggibilità stessa del comportamento asincrono è fondamentale. Mostreremo in questa tesi che il linguaggio possiede già nativamente, anche se solo parzialmente, gli strumenti per superare tali limiti: le funzioni generatore, tramite il paradigma generator/yield. In questo contesto si colloca Effection, un runtime che sfrutta i generatori per introdurre in JavaScript la concorrenza strutturata, la quale rende il comportamento asincrono più prevedibile e coerente con l’intenzione dello sviluppatore. Infine, evidenzio come né Effection né il paradigma generator/yield rappre- sentino un punto di arrivo definitivo, ma una direzione: un nuovo paradigma per l’asincronicità che combini la granularità di generator/yield con la leggibitilà e concorrenza strutturale di Effection.

Login