Was ist eine Standardbibliothek?
Bei der Computerprogrammierung besteht eine Standardbibliothek aus einer Reihe von Funktionen, Konstanten und anderen Sprachdefinitionen, die Teil des Compiler-Kernpakets sind. Die Standardbibliothek bietet einem Programmierer die grundlegende Möglichkeit, einfache Programme zu erstellen und grundlegende Daten zu bearbeiten. Es bietet auch die Möglichkeit, auf irgendeine Weise mit dem Host-Betriebssystem zu interagieren, sodass die Informationsverarbeitung nicht zu einer trivialen Aufgabe wird. Alle Implementierungen eines bestimmten Sprachcompilers enthalten die Standardbibliothek. Sie ist im Allgemeinen abwärtskompatibel mit früheren Versionen der Bibliothek, sodass die grundlegenden Sprachfunktionen im Laufe der Zeit erhalten bleiben.
Eine Bibliothek ist im weiteren Sinne eine Sammlung von Prozeduren, Funktionen, Klassen oder anderen Elementen eines Computerprogramms, die einem Programmierer zur Verfügung stehen. Diese Elemente werden normalerweise in Kategorien eingeteilt, die ihre Funktionalität definieren, z. B. Eingabe, Ausgabe und Prozesshandhabung. Einige Bibliotheken sind darauf angewiesen, dass andere Bibliotheken ordnungsgemäß funktionieren. Dies wird als Abhängigkeit bezeichnet. Wichtige Variablen wie der Maximalwert eines ganzzahligen Datentyps oder die numerische Definition eines Nullzeichens können in einer Bibliothek gespeichert werden. Sie sind in der Regel bereits kompilierte Teile des Computercodes, die schädliche Änderungen verhindern und den proprietären Programmcode schützen.
Eine Standardbibliothek ist bestrebt, alle grundlegenden und notwendigen Funktionen zu enthalten, die eine breite Palette von Programmen benötigt, um auf die eine oder andere Weise ausgeführt zu werden. Dies muss gegen die Einbeziehung zu vieler Bibliotheken abgewogen werden. Eine große Standardbibliothek bedeutet, dass in einigen Sprachen die Distributionsgröße eines abgeschlossenen Programms unglaublich groß und mit Bibliotheken überfüllt sein kann, die niemals verwendet werden. Das Einschließen zu vieler Dateien in eine Standardbibliothek kann auch zu Problemen bei der Entwicklung der Sprache führen, da selten verwendete Funktionen bei jeder Sprache oder Compileränderung aktualisiert werden müssen, was den Arbeitsaufwand für eine neue Version erhöht.
Umgekehrt kann eine Standardbibliothek mit zu wenig Funktionalität dazu führen, dass jeder Programmierer externe Bibliotheken benutzerdefiniert installieren und diese speziell in Programmversionen einbinden muss. Dies kann zu einer Art sekundärer, Community-gesteuerter Wartung eines Standards führen, der nicht vom primären Sprachentwicklungsteam kontrolliert wird. Einige Sprachen passen sich solchen Situationen an, indem sie häufig verwendete Bibliotheken in den Standardsatz aufnehmen, wenn die Community die Notwendigkeit klargestellt hat.
Verschiedene Sprachen haben unterschiedliche Design-Philosophien darüber, was in der Standardbibliothek enthalten sein soll. Darüber hinaus können die Mechanismen, mit denen der Compiler ein ausführbares Programm erstellt, auch die Parameter für die Bibliothek bestimmen. Interpretierte Sprachen enthalten in der Regel eine größere Sammlung von Bibliotheken in ihrem Standardsatz, während Sprachen auf niedriger Ebene häufig nur sehr wenige enthalten.