Eine Bibliothek (englisch library) ist eine Sammlung von fertigem, wiederverwendbarem Code, den Programme einbinden können, statt jede Funktion selbst zu schreiben. Bibliotheken sparen Zeit und machen Software sicherer, weil bewährter Code nicht jedes Mal neu erfunden wird.

Statische und dynamische Bibliotheken

Es gibt zwei Grundformen, wie Bibliotheken in ein Programm gelangen:

  • Statische Bibliotheken (.a unter Linux, .lib unter Windows) werden beim Kompilieren direkt in das Programm kopiert. Das Programm ist dadurch eigenständig, aber größer.
  • Dynamische Bibliotheken (.so unter Linux, .dll unter Windows, .dylib unter macOS) werden erst beim Start des Programms geladen. Mehrere Programme können sich eine Instanz teilen — Updates der Bibliothek wirken sofort auf alle Programme.

Beispiele aus der Praxis

  • Die Standardbibliothek deiner Programmiersprache enthält Grundfunktionen wie Ein-/Ausgabe, Strings und Datumsberechnung.
  • Sprachspezifische Pakete wie requests (Python) oder express (Node.js) erweitern die Sprache um fertige Fähigkeiten.
  • Eine API ist die Schnittstelle, über die eine Bibliothek ihre Funktionen nach außen anbietet.

Bibliothek oder Framework?

Der Unterschied zum Framework liegt in der Kontrolle: Bei einer Bibliothek rufst du den Code auf, beim Framework ruft das Framework deinen Code auf. Vereinfacht gesagt: Du benutzt die Bibliothek, aber das Framework benutzt dich.

Praxis-Tipps

  • Installiere Bibliotheken möglichst über den Package-Manager deiner Sprache (npm und pip, composer) — so bleiben Versionen und Abhängigkeiten nachvollziehbar.
  • Prüfe, ob eine Bibliothek gepflegt und weit verbreitet ist, bevor du sie in ein Projekt aufnimmst — Open Source heißt nicht automatisch sicher.
  • Eine gute Bibliothek dokumentiert ihre API klar und liefert Beispiele. Dazu gehört auch die Einordnung in ein Repository mit Versionshistorie.

Verwandte Grundlagen: Funktion, Klasse, Objekt, API.