Unter einerStandardbibliothek versteht man eineProgrammbibliothek, die mit demCompiler bzw. mit derEntwicklungsumgebung einerProgrammiersprache mitgeliefert wird.
Fast alle gängigen Programmiersprachen wieC,C++,C#,Java,Object Pascal undPython bieten eine umfassende Standardbibliothek. Soll also einCompiler 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 genutzterDatenstrukturen,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 neueSchlü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. beiFunktionspointern).
In manchen Programmiersprachen ermöglicht die Verwendung einer Standardbibliothek ihre einfache Austauschbarkeit, beispielsweise kann entweder eine auf gutePerformance oder aber eine auf erleichtertesDebugging optimierte Version verwendet werden.
Für die Verwendung etwa ineingebetteten 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 ihreLaufzeitumgebung 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 eineAssemblersprache 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.
Eine einfache Konsolenausgabe inC lässt sich auf allen C-konformen Plattformen wie folgt realisieren:
#include<stdio.h>intmain(void){printf("Hallo Welt!\n");return0;}
Dabei ist der Befehlprintf() Bestandteil derC-Standard-Bibliothek mit derHeader-Dateistdio.h
. Bindet man diese in sein Programm ein, kann man ohne Berücksichtigung der vorliegenden Plattform sein Programmportabel schreiben.
Im Gegensatz hierzu sind die Funktionen zur Bildschirmausgabewriteln()
inPascal oderprint
inPython 2 nicht Teil einer Standardbibliothek, sondern ein Teil der Sprachdefinition.