În programarea computerelor, o bibliotecă standard este o serie de funcții, constante și alte definiții ale limbajului care sunt incluse ca parte a pachetului compilatorului de bază. Biblioteca standard oferă unui programator capacitatea de bază de a crea programe simple și de a manipula datele de bază. De asemenea, oferă capacitatea de a interacționa cumva cu sistemul de operare gazdă, astfel încât procesarea informațiilor să nu devină o sarcină banală. Toate implementările unui compilator de limbă dat includ biblioteca standard și, în general, este compatibil în jos cu versiunile anterioare ale bibliotecii, astfel încât funcționalitatea de bază a limbajului este păstrată pe măsură ce evoluează în timp.
O bibliotecă, în sens larg, este o colecție de proceduri, funcții, clase sau alte elemente ale unui program de calculator care sunt disponibile unui programator. Aceste elemente sunt de obicei grupate în categorii care își definesc funcționalitatea, cum ar fi intrarea, ieșirea și manipularea proceselor. Unele biblioteci se bazează pe alte biblioteci pentru a funcționa corect, un concept numit dependență. Variabilele importante, cum ar fi valoarea maximă a unui tip de date întreg sau definiția numerică a unui caracter nul, pot fi stocate într-o bibliotecă. De asemenea, sunt, de obicei, bucăți deja compilate de cod de computer, prevenind modificările dăunătoare și protejând codul de programare proprietar.
O bibliotecă standard se străduiește să includă toate caracteristicile de bază și necesare pe care o gamă largă de programe vor avea nevoie pentru a rula într-un fel sau altul. Acest lucru trebuie să fie echilibrat cu includerea prea multor biblioteci. O bibliotecă standard mare înseamnă că, în unele limbi, dimensiunea de distribuție a unui program finalizat poate fi incredibil de mare și plină de biblioteci care nu sunt niciodată folosite. Includerea prea multor fișiere într-o bibliotecă standard poate duce, de asemenea, la probleme cu dezvoltarea limbajului, deoarece caracteristicile care sunt utilizate rar trebuie actualizate cu fiecare modificare a limbii sau a compilatorului, crescând cantitatea de muncă necesară pentru o nouă ediție.
În schimb, o bibliotecă standard care are prea puține funcționalități poate determina ca fiecare programator să fie nevoit să instaleze biblioteci externe personalizate și să le includă în mod specific în versiunile programului. Acest lucru poate duce la un tip de menținere secundară, condusă de comunitate, a unui standard care nu este controlat de echipa de dezvoltare a limbajului principal. Unele limbi se adaptează la astfel de situații prin includerea bibliotecilor utilizate în mod obișnuit în setul standard atunci când comunitatea a clarificat necesitatea.
Diferite limbi au filozofii de design diferite despre ceea ce ar trebui să fie în biblioteca standard. În plus, mecanica din spatele modului în care compilatorul creează un program executabil poate determina și parametrii bibliotecii. Limbile interpretate tind să aibă o colecție mai mare de biblioteci în setul lor standard, în timp ce limbile de nivel scăzut au adesea foarte puține.