- Standardbibliothek
-
Unter einer Standardbibliothek versteht man eine Sammlung von standardisierten Funktionen, Klassen oder Templates einer Programmiersprache.
Fast alle gängigen Programmiersprachen wie C, C++, C#, Java, Delphi 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 durch eine auf Performance bzw. Debugging optimierte Version.
Beispiel
Eine einfache Konsolenausgabe in C (Programmiersprache) lässt sich auf allen C-konformen Plattformen wie folgt realisieren:
#include <stdio.h> printf("Hallo Welt!");
Dabei ist der Befehl printf() Bestandteil der Standard C Library mit der Header-Datei stdio.h. Bindet man diesen in sein Programm ein, kann man ohne Berücksichtigung der vorliegenden Plattform sein Programm portabel schreiben.
Im Gegensatz hierzu ist die Funktion
writeln()
zur Bildschirmausgabe in Pascal (Programmiersprache) nicht Teil einer Standardbibliothek, sondern Teil der Sprachdefinition. Die Bildschirmausgabe in Python ist nicht über eine Funktion implementiert, sondern über den Befehlprint
, der Teil der Sprachdefinition ist.
Wikimedia Foundation.