Evaluare leneșă

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 2 februarie 2019; verificările necesită 3 modificări .

Evaluarea leneșă ( eng.  evaluare leneșă , de asemenea evaluare amânată ) este o strategie de calcul folosită în unele limbaje de programare , conform căreia calculele ar trebui amânate până când este nevoie de rezultatul lor. Evaluarea leneșă se referă la evaluarea non-strictă . Un model îmbunătățit de evaluare leneșă - evaluarea optimistă  - se mută în categoria strategiilor de evaluare nedeterministe .

Calculele leneșe vă permit să reduceți suma totală de calcule datorate acelor calcule, ale căror rezultate nu vor fi utilizate. Programatorul poate descrie pur și simplu dependențele funcțiilor unul față de celălalt și să nu se asigure că „calculele excesive” nu sunt efectuate.

Evaluarea leneșă a căzut în mod natural pe paradigma de programare funcțională , deoarece limbajele de programare funcțională care implementează evaluarea leneșă s-au impus ca instrumente convenabile pentru prototipare și dezvoltare rapidă de software, precum și pentru proiectarea dispozitivelor electronice de calcul .

Unele limbaje de programare care implementează evaluarea leneșă:

Pentru a utiliza evaluarea leneșă, suportul încorporat nu este necesar din partea limbajului de programare; în multe cazuri, evaluarea leneșă poate fi implementată prin orice mijloace disponibile. De exemplu, în practica multor limbi, este utilizat pe scară largă modelul de proiectareinițializare leneșă ” , care prescrie transferul execuției operațiunilor care necesită mult resurse pentru a crea obiecte sau a obține o valoare imediat înainte de utilizare. Au fost create biblioteci pentru o serie de limbi care oferă evaluare leneșă, de exemplu, pentru JavaScript , acestea sunt Streams.js , linq.js , Immutable.js și node-lazy .

Link -uri