Boost C++-Bibliothek

boost C++ library

Mit Boost wird eine umfangreiche Sammlung von Software-Bibliotheken für die Programmiersprache C++ bezeichnet, die gemäß den Bedingungen der Boost Software License unter dem u.g. Link zur Verfügung steht. Die Implementierungen basieren alle auf dem jeweils aktuellen Stand des C++-Standards. Mit Unterstützung von Boost werden nicht nur in C++-realisierte Lösungen wiederverwendet, sondern auch die Möglichkeiten der Standard Template Library (STL) von C++ enorm erweitert, da ein breites Spektrum von Problemstellungen durch Boost abgedeckt wird. Dabei sind die Boost-Bibliotheken vollkommen unabhängig von einer bestimmten Plattform.

Die Qualitätssicherung von Boost erfolgt über ein detailliertes - sehr stringent ausgerichtetes - System von Regeln. Im Laufe der Zeit sind Teile der Boost-Bibliothek zum C++-Standard erhoben worden. Die Verwendung von Boost-Bibliotheken ist mittlerweile auch für kommerzielle Projekte ein häufig gewählter Weg, um deren Produktivität zu steigern.

Aktivitäten der Boost Community.

Die Entwicklung, Qualitätssicherung und Verbreitung von Boost ist Aufgabe der Boost Community, deren Anfänge auf Betreiben des C++-Standardisierungs-Komitee bereits im Jahr 1998 erfolgt sind. Aktuell sind aber in weltweitem Netz zahlreiche C++-Entwickler in dieser Community engagiert - manche von ihnen sind parallel immer noch im C++-Standardisierungs-Komitee. Somit wird auch der Standardisierungsprozess von C++ maßgeblich durchaus ebenso von Seiten der Entwickler unterstützt. Die Zielstellung der Community hat sich nicht verändert - noch immer dient sie der Entwicklung von C++-Bibliotheken mit hohem Anspruch an die Qualität der Software, die den vorhandenen C++-Standard um neue Funktionalität erweitert. Die Kommunikation der Boost Community erfolgt über sogenannte Mailing Lists - diese sind ebenfalls unter dem u.g. Link verfügbar und sind für Fragen, Probleme sowie Diskussionen gedacht. Die Bestimmungen der Boost Software License erlauben es unter Nennung des Copyright Vermerkes, die Boost-Bibliothek als Ganzes oder in Teilen in jedem Fall - also auch in kommerziellen Projekten - kostenlos einzusetzen. Dabei wird ebenso die Modifizierung des frei erhältlichen Source-Codes und dessen Verbreitung mit einbezogen.

Die Regeln in der Boost Community sind u.a. im eigentlichen Entwicklungsprozess durchaus stringent: Sofern eine neue Bibliothek aufgenommen werden soll, muss diese zunächst eine mehrtägige Review-Phase durchlaufen, deren Ausgang völlig offen ist. Unabdingbare Voraussetzungen für den Start des Reviews sind aber zunächst,

  • die Bibliothek muss nachweisbar ein offenes Problem lösen,
  • die Implementierung muss die C++-Standards einhalten und
  • es muss eine ordentliche Dokumentation vor-liegen.

Auch bereits in der Sammlung etablierte Bibliotheken durchlaufen für jede neue Version diese Review Phase. Dabei wird u.a. auch die Lauffähigkeit auf unter-schiedlichen Compilern und Plattformen sichergestellt. Der von Boost vertretene Ansatz der Portabilität und die Einflüsse des Entwicklungsmodells Open Source unterstützen diesen Prozess. Auch die Entwickler der Community bewerten die neue Bibliothek und stellen ihre Ergebnisse einem Review Manager zur Verfügung, der dann die letztendliche Entscheidung trifft. Die Regeln im Detail lassen sich auf der angegebenen Website nachlesen.

Die Boost-Bibliotheken und die Template Library.

Die Boost-Bibliotheken erweitern das Spektrum der Standard Template Library (STL) von C++ um um-fangreiche und Plattform-unabhängige Problemlösungen. In der STL fehlen beispielsweise Komponenten für die Behandlung von Threads sowie Netzwerkfunktionen, Komponenten für die Serialisierung, Funktionen für die automatische Generierung von Webservices oder für den Zugriff auf Datenbanken. Die Boost-Bibliotheken gleichen diesen Zustand durch eine Vielzahl an verfügbaren Bibliotheken für verschiedene Problemlösungen aus. Dabei versucht Boost Kern-Mechanismen von C++ wie die Eigenschaften der Template-Programmierung - generische Programmierung sowie Meta-Programmierung - einzusetzen.

Die Boost-Bibliotheken bieten derzeit Lösungen für u.a. die folgenden Themenbereiche: Asynchrone Ein- und Ausgabe, Serialisierung, Datenstrukturen, Algorithmen, Ereignisbehandlung, Multithreading, Behandlung von Ausnahmen, Template-Programmierung, Funktionen und Nebenläufigkeit.

http://www.boost.org

http://sourceforge.net/projects/boost/files/

Inhalt teilen

Partner