Unter einer Standardbibliothek versteht man eine Programmbibliothek, die mit dem Compiler bzw. mit der Entwicklungsumgebung einer Programmiersprache mitgeliefert wird.
Details
Fast alle gängigen Programmiersprachen wie C, C++, C#, Java, Object Pascal und Python bieten eine umfassende Standardbibliothek. Soll also ein Compiler den Normen einer Programmiersprache entsprechen, muss er die Standardbibliotheken mitliefern.
Hintergrund für das Konzept der Standardbibliothek sind die Abstraktion von Plattformdetails (z. B. Ein-/Ausgabe), das heißt Erhöhung der Portabilität, und die standardisierte Bereitstellung häufig genutzter Datenstrukturen, Algorithmen bzw. Funktionalität (z. B. Sortierung).
Auch kann die Verwendung einer Standardbibliothek die eigentliche Sprachdefinition vereinfachen. Beispielsweise müssen Funktionen zur Bildschirmausgabe nicht als neue Schlüsselwörter definiert werden. Auch kann die Orthogonalität der Sprache erhöht werden, da beispielsweise Funktionen aus der Standardbibliothek normale Funktionen sind, also an allen Stellen verwendet werden dürfen, an denen normale Funktionen erlaubt sind (z. B. bei Funktionspointern).
In manchen Programmiersprachen ermöglicht die Verwendung einer Standardbibliothek ihre einfache Austauschbarkeit, beispielsweise kann entweder eine auf gute Performance oder aber eine auf erleichtertes Debugging optimierte Version verwendet werden.
Für die Verwendung etwa in eingebetteten Systemen können oft große Teile der Standardbibliothek ganz fortgelassen werden, das heißt, sie werden dann auch nicht in die erzeugten ausführbaren Programme eingebunden, wodurch die erzeugten Programme kleiner werden und weniger Ansprüche an ihre Laufzeitumgebung stellen. So können beispielsweise auf bildschirmlosen Systemen meist alle Funktionen zur Bildschirmausgabe ersatzlos wegfallen. Programme, die auf betriebssystemlosen Systemen ablaufen (etwa einfache Steuerungen oder einfache Taschenrechner) oder solche, die selbst ein Betriebssystem darstellen, können auf die Standardbibliothek auch komplett verzichten. Unter diesen Bedingungen kann eine Hochsprache dann auch als komfortablerer Ersatz für eine Assemblersprache dienen. Das erste beinahe vollständig in einer Hochsprache geschriebene Betriebssystem, Unix, wurde z. B. erst möglich durch die klare Trennung von Sprachkern und Standardbibliothek in der damals neuen Programmiersprache C.
Beispiel
Eine einfache Konsolenausgabe in C lässt sich auf allen C-konformen Plattformen wie folgt realisieren:
#include <stdio.h>
int main (void) {
printf("Hallo Welt!\n");
return 0;
}
Dabei ist der Befehl printf() Bestandteil der C-Standard-Bibliothek mit der Header-Datei stdio.h
. Bindet man diese in sein Programm ein, kann man ohne Berücksichtigung der vorliegenden Plattform sein Programm portabel schreiben.
Im Gegensatz hierzu sind die Funktionen zur Bildschirmausgabe writeln()
in Pascal oder print
in Python 2 nicht Teil einer Standardbibliothek, sondern ein Teil der Sprachdefinition.