Blog 3 min read

20 Jahre Boost C++: Rückblick auf die ursprüngliche Vision

Share this article
20 Years of Boost C++: Original Vision Review

In 1998, a proposal for a C++ Library Repository Web Site was posted by Beman G. Dawes. The original vision aimed to satisfy two major goals:

  • Eine weltweit zugängliche Website mit einem Repository kostenloser C++-Klassenbibliotheken wäre für die C++-Community von großem Nutzen. Zwar bieten andere Websites bestimmte Bibliotheken an oder verlinken auf sie, doch gibt es derzeit keine weithin bekannte Website, die als allgemeines Repository für C++-Bibliotheken dient. Die Vision lautet: eine Website, auf der Programmierer die benötigten Bibliotheken finden, eigene Bibliotheken zur gemeinsamen Nutzung veröffentlichen und die zugleich als zentraler Anlaufpunkt zur Förderung innovativer C++-Bibliotheksentwicklung dient. Ein Online-Peer-Review-Verfahren soll die Qualität der Bibliotheken mit möglichst wenig Bürokratie sicherstellen.
  • Zu den weiteren Zielen gehören die Förderung effektiver Programmiertechniken und die Schaffung eines zentralen Anlaufpunkts, über den C++-Programmierer an einer größeren Community teilnehmen können. Darüber hinaus könnte eine solche Website die C++-Standardisierung unterstützen, indem sie dabei hilft, etablierte Praxis sichtbar zu machen.

Wie im Vorschlag erläutert:

A guiding principal is to encourage wide participation and interaction. Menschen sollen sich beteiligen – in Newsgroups und Mailinglisten, als Peer-Reviewer, Bibliotheksautoren und Maintainer sowie als Moderatoren und Webmaster. Und natürlich als Nutzer der Bibliotheken. Die Idee besteht nicht darin, eine Organisation aufzubauen, die zufällig eine Website betreibt. Vielmehr the website is the organization. Like all good websites, and all good organizations, it will evolve over time.

Hat die Bibliothek diese Ziele nach 20 Jahren Boost-Entwicklung erreicht?

Heute gilt Boost als eine äußerst leistungsfähige Sammlung von C++-Bibliotheken. Mit jeder Hauptversion kamen neue Bibliotheken aus der Community hinzu. Die Boost-Reviewer verfügen über fortgeschrittene C++-Kenntnisse, und ihre Beiträge tragen seit vielen Jahren zu einem hohen Qualitätsniveau bei. Von Anfang an entschieden sich die Boost-Entwickler für moderne C++-Techniken. Die Einstiegshürde ist jedoch sehr hoch: Nur relativ wenige C++-Entwickler können neue Bibliotheken entwickeln, die den Boost-Richtlinien entsprechen. So haben wir beispielsweise kürzlich die Boost proposal library für Dependency Injection untersucht und festgestellt, dass sie fortgeschrittene Modern-C++-Techniken verwendet. Die Entwicklung solcher Bibliotheken erfordert ein hohes Maß an C++-Expertise.

Das Hauptproblem bestand darin, dass modernes C++ zwischen 2000 und 2010 kaum verbreitet war; Entwickler bevorzugten den OOP-Ansatz gegenüber generischer Programmierung. Erst 2011, im Jahr der Wiederbelebung von C++, begannen viele Open-Source-Bibliotheken moderne C++-Techniken zu übernehmen.

Heute sind Entwickler im Umgang mit Bibliotheken erfahrener. Mit der zunehmenden Verbreitung von modernem C++ dürfte auch die Bereitschaft steigen, selbst zu Boost beizutragen.

Die aktuelle Boost-Version ist 1.64, und das erste Ziel kann als erreicht gelten: Viele wertvolle Bibliotheken sind inzwischen Teil von Boost. Doch wie steht es um das zweite Ziel? Haben Website und Bibliothek Entwicklern geholfen, effektiver zu programmieren?

Als langjähriger Boost-Nutzer besuche ich die Boost-Website hauptsächlich, um die Bibliothek herunterzuladen. Ursprünglich war eine websitezentrierte Lösung vorgesehen, letztlich entstand jedoch eher eine bibliothekszentrierte. Entwickler nutzen die Website im Allgemeinen nicht, um ihre Kenntnisse in modernem C++ zu verbessern.

Dieses Ziel lässt sich mit einer einzelnen spezialisierten Website nur schwer erreichen. Viele Experten und Websites versuchen jedoch, den Einsatz von Modern C++ zu fördern. Im Folgenden finden Sie einige Beispiele für Websites, die auf den Begriff „Modern C++“ Bezug nehmen. Sie können sie über TouchGraph.

boost2

Wie wir sehen, wurde „Modern C++“ insbesondere gefördert durch:

  • Bekannte C++-Experten wie Herb Sutter, Andrei Alexandrescu, Scott Meyers und viele andere.
  • Community-Websites wie Stack Overflow.
  • Zahlreiche in den vergangenen Jahren veröffentlichte Bücher.

Man kann sagen, dass die ursprünglichen Entwickler visionär waren und das Hauptziel einer hochwertigen, durch Peer Reviews geprüften Bibliothek erreicht wurde. Hoffentlich wird Boost in naher Zukunft unter C++-Entwicklern noch breiter eingesetzt.

Share this article