Tietotekniikassa kirjastot (mm. ohjelmakirjasto, luokkakirjasto) ovat kokoelmia, aliohjelmia, luokkia ja/tai ohjelmia, joita käytetään tietokoneohjelmien modulaarisessa kehittämisessä sekä ohjelmien suorittamisen aikana. Kirjastoissa olevia (ali)ohjelmia ei yleensä suoriteta itsenäisesti, vaan niissä olevia palveluita käytetään itsenäisesti suoritettavien ohjelmien apuna.
Erityyppisiä kirjastoja ovat:
Kirjastot pääasiassa jakautuvat kahteen tyyppiin: osana ohjelmaa kiinteästi oleva staattinen kirjasto ja dynaamisesti linkitettävä jaettu kirjasto.[1] Staattinen kirjasto on käännöksen yhteydessä linkitettävä ohjelmamoduuli. Jaettujen kirjastojen tyyppi riippuu tyypillisesti käyttöjärjestelmästä, mutta myös kielen suoritusympäristön (virtuaaliympäristön) ratkaisuista.
Kirjastoihin sijoitettavia ohjelmatoimintoja voi olla yhtä paljon kuin sovellusratkaisujakin: lähes mikä vain ohjelmointiteknisesti mahdollinen toiminto on mahdollista sijoittaa ohjelmakirjastoon.
Kirjastoissa olevia symboleita käytetään päättelemään mitkä muuttujat tai ohjelmakoodi on jaettua.[2] Symbolit voivat olla suojattuja käytöltä.[2]