Biblioteka programistyczna – plik dostarczający podprogramy, dane oraz typy danych, które mogą zostać wykorzystane z poziomu kodu źródłowego programu. Użycie bibliotek to sposób na ponowne wykorzystanie tego samego kodu.
Dobór odpowiedniej biblioteki programistycznej może ułatwić zaimplementowanie niemalże dowolnego zadania. Pisanie programów jedynie za pomocą czystych elementów języka programowania jest czasochłonne, a czasami nawet niemożliwe.
Kategoryzacja Ze względu na czas dołączania biblioteki do programu wyróżnia się biblioteki statyczne dołączane w czasie konsolidacji oraz biblioteki dynamiczne dołączane w czasie uruchamiania programu.
Biblioteki statyczne Biblioteki statyczne () łączone są z programem w momencie konsolidacji (linkowania). W przypadku narzędzi dostarczonych przez Microsoft dla systemów z rodziny Windows pliki bibliotek mają zazwyczaj rozszerzenia .lib lub .obj, natomiast dla pakietów w systemach z rodziny Unix (np. GCC) i ich portach dla systemu Microsoftu (jakim jest np. MinGW) są to .a lub .o.
Biblioteki dynamiczne Biblioteki dynamiczne łączone są z programem wykonywalnym dopiero w momencie jego wykonania. Dane z bibliotek dynamicznych mogą być współdzielone przez różne programy jednocześnie.