Bibliotek
I dataprogrammering refererer begrepet bibliotek til en godt dokumentert samling av stabile ressurser, som kan inkludere kjørbare filer, dokumentasjon, meldingsmaler og skrevet kode.
Begrepet kan også referere til en samling av forhåndsskrevne moduler som når de brukes, utfører en spesifikk handling eller produserer en bestemt utgang. Modulene i biblioteket kan ha form av kode, klassedefinisjoner, prosedyrer, skript og konfigurasjonsdata. Dette betyr at utviklere kan bruke modulene i biblioteket uten å måtte skrive om hele koden for hver modul fra bunnen av. Med andre ord er de i stand til å gjenbruke atferden fra andre biblioteker i stedet for å lage nye moduler selv.
Biblioteker kan generaliseres for ikke-spesialisert bruk (f.eks. klokkeslett, grunnleggende matematiske operasjoner) eller svært spesifikke for et bestemt brukstilfelle (f.eks. dekoding av lydfilkomprimering).
Derfor gir bruk av kodebiblioteker mange fordeler for utviklere og informatikere. Noen av dem inkluderer mer effektiv bruk av tid og ressurser, noe som gjør det lettere for utviklere å utvikle og utføre programvare.
En ulempe med å bruke kodebiblioteker er den såkalte Black Box Effect der utvikleren bare kan se input og output av bruken, noe som betyr at de ofte har liten eller ingen forståelse av hva som skjer i mellom.