Hvad er et standardbibliotek?
I computerprogrammering er et standardbibliotek en række funktioner, konstanter og andre sprogdefinitioner, der er inkluderet som en del af kernekompilatorpakken. Standardbiblioteket giver en programmerer den grundlæggende evne til at oprette enkle programmer og manipulere grundlæggende data. Det giver også muligheden for på en eller anden måde at interagere med værtsoperativsystemet, så informationsbehandling ikke bliver en triviel opgave. Alle implementeringer af en given sprogkompiler inkluderer standardbiblioteket, og det er generelt nedadgående kompatibelt med tidligere versioner af biblioteket, så grundlæggende sprogfunktionalitet bevares, når det udvikler sig over tid.
Et bibliotek i bred forstand er en samling af procedurer, funktioner, klasser eller andre elementer i et computerprogram, der er tilgængelige for en programmør. Disse elementer grupperes normalt i kategorier, der definerer deres funktionalitet, såsom input, output og proceshåndtering. Nogle biblioteker er afhængige af at andre biblioteker fungerer ordentligt, et koncept kaldet afhængighed. Vigtige variabler, såsom den maksimale værdi af en heltal datatype eller den numeriske definition af et nulltegn, kan gemmes i et bibliotek. De er også normalt allerede samlet stykker computerkode, der forhindrer skadelige ændringer og beskytter proprietær programmeringskode.
Et standardbibliotek stræber efter at inkludere alle basale og nødvendige funktioner, som en bred vifte af programmer vil kræve for at køre på en eller anden måde. Dette skal afbalanceres mod at inkludere for mange biblioteker. Et stort standardbibliotek betyder, at distributionsstørrelsen på et færdigt program på nogle sprog kunne være utroligt stor og oppustet med biblioteker, der aldrig bruges. Inkludering af for mange filer i et standardbibliotek kan også føre til problemer med udviklingen af sproget, fordi funktioner, der sjældent bruges, skal opdateres med hvert sprog eller compilerændring, hvilket øger mængden af arbejde, der kræves til en ny udgivelse.
Omvendt kan et standardbibliotek, der har for lidt funktionalitet, føre til, at hver programmerer skal tilpasse eksterne biblioteker og inkludere dem specifikt i programudgivelser. Dette kan føre til en type sekundær, samfundsdrevet vedligeholdelse af en standard, der ikke kontrolleres af det primære sprogudviklingshold. Nogle sprog tilpasser sig sådanne situationer ved at inkludere almindeligt brugte biblioteker i standardsættet, når samfundet har gjort behovet klart.
Forskellige sprog har forskellige designfilosofier om, hvad der skal være i standardbiblioteket. Derudover kan mekanikerne bag, hvordan compileren opretter et eksekverbart program, også bestemme parametrene for biblioteket. Tolkede sprog har en tendens til at have en større samling af biblioteker i deres standardsæt, mens sprog på lavt niveau ofte har meget få.