Kaj je standardna knjižnica?

V računalniškem programiranju je standardna knjižnica niz funkcij, konstant in drugih jezikovnih definicij, ki so vključene kot del osnovnega prevajalskega paketa. Standardna knjižnica omogoča programerju osnovno zmožnost ustvarjanja preprostih programov in manipulacije osnovnih podatkov. Zagotavlja tudi možnost neke vrste interakcije z gostiteljskim operacijskim sistemom, tako da obdelava informacij ne postane nepomembna naloga. Vse izvedbe danega jezikovnega prevajalnika vključujejo standardno knjižnico in je na splošno združljiva navzdol s prejšnjimi različicami knjižnice, tako da je osnovna jezikovna funkcionalnost ohranjena, ko se sčasoma razvija.

Knjižnica je v širšem smislu zbirka postopkov, funkcij, razredov ali drugih elementov računalniškega programa, ki so na voljo programerju. Ti elementi so običajno združeni v kategorije, ki opredeljujejo njihovo funkcionalnost, kot so vhodi, izhodi in obdelava procesov. Nekatere knjižnice se zanašajo na pravilno delovanje drugih knjižnic, kar se imenuje odvisnost. Pomembne spremenljivke, kot je največja vrednost celoštevilskega podatkovnega tipa ali številčna definicija ničelnega znaka, je mogoče shraniti v knjižnico. Prav tako so običajno že prevedeni kosi računalniške kode, ki preprečujejo škodljive spremembe in ščitijo lastniško programsko kodo.

Standardna knjižnica si prizadeva vključiti vse osnovne in potrebne funkcije, ki jih bo za delovanje na tak ali drugačen način potreboval širok nabor programov. To je treba uravnotežiti z vključitvijo preveč knjižnic. Velika standardna knjižnica pomeni, da je v nekaterih jezikih lahko velikost distribucije dokončanega programa neverjetno velika in napihnjena s knjižnicami, ki se nikoli ne uporabljajo. Vključitev preveč datotek v standardno knjižnico lahko povzroči tudi težave pri razvoju jezika, saj je treba funkcije, ki se redko uporabljajo, posodobiti z vsako spremembo jezika ali prevajalnika, kar poveča količino dela, ki je potrebno za novo izdajo.

Nasprotno pa lahko standardna knjižnica, ki ima premalo funkcionalnosti, povzroči, da mora vsak programer namestiti zunanje knjižnice po meri in jih vključiti posebej v izdaje programov. To lahko vodi do vrste sekundarnega vzdrževanja standarda, ki ga poganja skupnost, ki ga ne nadzoruje skupina za razvoj primarnega jezika. Nekateri jeziki se prilagodijo takšnim situacijam tako, da vključijo pogosto uporabljene knjižnice v nabor standardov, ko skupnost jasno pokaže potrebo.

Različni jeziki imajo različne filozofije oblikovanja o tem, kaj bi moralo biti v standardni knjižnici. Poleg tega lahko mehanika, ki stoji za tem, kako prevajalnik ustvari izvedljiv program, določi tudi parametre za knjižnico. Interpretirani jeziki imajo običajno večjo zbirko knjižnic v svojem standardnem naboru, medtem ko jih imajo jeziki nizke ravni pogosto zelo malo.