1998年、Beman G. Dawes によって C++ライブラリリポジトリWebサイトの提案 が投稿されました。当初のビジョンは、2つの主要な目標を満たすことを目的としていました。
- 無料のC++クラスライブラリのリポジトリを含む世界的なWebサイトは、C++コミュニティに大きな利益をもたらすでしょう。特定のライブラリを提供したり、ライブラリへのリンクを提供したりするサイトはほかにもありますが、現在、C++ライブラリの一般的なリポジトリとして機能する有名なWebサイトはありません。そのビジョンとは、プログラマーが必要なライブラリを見つけ、共有したいライブラリを投稿でき、革新的なC++ライブラリ開発を促進する拠点となるサイトです。オンラインのピアレビュープロセスにより、最小限の官僚主義でライブラリの品質を確保することが想定されています。
- 副次的な目標には、効果的なプログラミング技術を促進すること、そしてC++プログラマーがより広いコミュニティに参加するための拠点を提供することが含まれます。さらに、そのようなサイトは既存の慣行の確立を助け、C++標準化活動を促進する可能性があります。
提案書では、次のように説明されています。
指導原則は、 幅広い参加と交流を促進すること。 ニュースグループやメーリングリストで、ピアレビューア、ライブラリ貢献者、メンテナー、モデレーター、ウェブマスターとして、そしてもちろんライブラリ利用者として、人々に参加してもらいます。 目的は、たまたまWebサイトを持っている組織を設立することではありません。むしろ、 Webサイト自体が組織です。すべての優れたWebサイトと優れた組織と同様に、 時間とともに進化していきます。
20年にわたるBoost開発を経て、このライブラリはこれらの目標を達成したのでしょうか。
今日、Boostは非常に強力なC++ライブラリ集として認知されており、メジャーバージョンごとにコミュニティからの新しいライブラリが追加されています。Boostのレビューアは高度なC++の専門知識を持ち、彼らの貢献によって長年にわたり高い品質水準が維持されてきました。Boostの作成者たちは、最初からモダンC++の技術を使うことを選びました。しかし、参入障壁は非常に高く、Boostガイドラインに準拠した新しいライブラリを開発できるC++開発者は比較的少数です。たとえば私たちは最近、依存性注入のための Boost提案ライブラリ をレビューし、そこで高度なモダンC++技術が使われていることを確認しました。このようなライブラリを開発するには、高いC++の専門知識が必要です。
主な問題は、2000年から2010年の間にモダンC++が広く採用されなかったことです。開発者はジェネリックプログラミングパラダイムよりもOOPアプローチを好みました。多くのオープンソースライブラリがモダンC++技術を採用するようになるまで、C++復活の年である2011年を待つ必要がありました。
今日、開発者はライブラリ利用者としてより経験を積んでいますが、モダンC++がより広く採用されるにつれて、Boostへの貢献にも抵抗がなくなっていくでしょう。
現在のBoostバージョンは1.64であり、最初の目標は達成されたと言えます。多くの価値あるライブラリがBoostの一部になっています。では、2つ目の目標はどうでしょうか。Webサイトとライブラリは、開発者がより効果的にプログラミングできるよう支援したのでしょうか。
長年のBoostユーザーとして、私は主にライブラリをダウンロードするためにBoostのWebサイトを訪れます。当初のビジョンはWebサイト中心のソリューションでしたが、実際にはライブラリ中心のソリューションになりました。開発者は一般的に、モダンC++スキルを高めるためにこのWebサイトを使っていません。
この目標を専用のWebサイトだけで達成するのは非常に困難です。しかし、多くの専門家やWebサイトがモダンC++の利用を推進しようとしています。以下は「Modern C++」というキーワードを参照しているWebサイトの例です。これらのサイトを探索するには、 TouchGraph を使えます。

ご覧のとおり、「Modern C++」は次のような存在によって推進されてきました。
- Herb Sutter、Andrei Alexandrescu、Scott Meyers をはじめとする有名なC++専門家たち。
- Stack Overflow のようなコミュニティWebサイト。
- 近年出版された多くの書籍。
当初の作成者たちは先見の明があったと言えます。高品質でピアレビューされたライブラリを構築するという主要な目標は達成されました。近い将来、BoostがC++開発者の間でさらに広く採用されることを願っています。
