Legarea tardivă este un termen de programare pentru computer care descrie momentul în care un program accesează o porțiune a codului său pentru prima dată. Majoritatea programelor sunt scrise ca text și apoi compilate într-un program funcțional. În timpul acestui proces, compilatorul verifică toate conexiunile din program pentru a se asigura că sunt prezente și practic exacte. Cu legarea tardivă, compilatorul nu are acces la unele porțiuni ale programului, așa că sunt lăsate deoparte în timpul compilării. Când programul rulează, codul este adăugat după cum este necesar.
Partea de legare a legării tardive se referă la conectarea unei porțiuni de cod cu restul programului. Marea majoritate a unui program trebuie să fie prezentă și precisă în timpul compilării. Compilatorul rulează întregul program pentru a verifica dacă toate apelurile merg la lucruri care există de fapt și că informațiile returnate sunt în formatul corect. Acest lucru nu înseamnă că programul funcționează conform intenției; înseamnă pur și simplu că potențialul este acolo.
Într-un program care utilizează legarea tardivă, lipsește o parte a programului. Compilatorul este instruit să ignore practic acea parte și să continue. Uneori, apelurile sunt scrise în așa fel încât compilatorul nici nu își dă seama că sunt acolo. Acest lucru va face, practic, unele secțiuni ale programului separate de partea principală.
Motivul principal pentru a utiliza legarea tardivă este simplificarea upgrade-urilor. Luând anumite zone ale codului din programul principal, este posibil să se modifice acele secțiuni fără a decompila și recompila programul. Acest lucru face, de asemenea, acea secțiune a programului complet autonomă, permițând diferite tipuri de acces sau caracteristici de securitate.
În timp ce legarea tardivă are utilizările sale, este o metodă de codare discutabilă. Deoarece programul este forțat să adauge cod în ultimul minut, va încetini întregul proces. Programul nu poate continua până când nu verifică existența porțiunii întârziate și stabilește că funcționează corect. În timp ce această verificare poate dura doar o fracțiune de secundă, programul trebuie să o facă de fiecare dată când accesează partea târzie.
În ceea ce privește simplificarea upgrade-urilor, funcționează bine, dar la fel și procesele mai puțin dăunătoare. Menținerea unei secțiuni a programului în afara compilatorului înseamnă că chiar și micile probleme, cum ar fi o literă transpusă sau un spațiu suplimentar între două cuvinte, pot cauza o defecțiune a programului. Din acest motiv și din alte motive similare, legarea tardivă este o opțiune mai puțin obișnuită pe limbajele de programare mai noi.