En 1998, une proposition d’un site web de dépôt de bibliothèques C++ a été publiée par Beman G. Dawes. La vision originelle visait à atteindre deux objectifs majeurs :
- Un site web mondial contenant un dépôt de bibliothèques de classes C++ gratuites serait d'un grand bénéfice pour la communauté C++. Bien que d'autres sites proposent des bibliothèques spécifiques ou fournissent des liens vers des bibliothèques, il n'existe actuellement aucun site web reconnu faisant office de dépôt général pour les bibliothèques C++. La vision est la suivante : un site où les programmeurs peuvent trouver les bibliothèques dont ils ont besoin, publier celles qu'ils souhaitent partager, et qui peut servir de point de convergence pour encourager le développement de bibliothèques C++ innovantes. Un processus d'évaluation par les pairs en ligne est envisagé pour garantir la qualité des bibliothèques avec un minimum de bureaucratie.
- Parmi les objectifs secondaires figurent l'encouragement des techniques de programmation efficaces et l'offre d'un point de convergence permettant aux programmeurs C++ de participer à une communauté plus large. En outre, un tel site pourrait favoriser l'activité de standardisation du C++ en aidant à établir les pratiques existantes.
Et comme l'explique la proposition :
Un principe directeur est de encourager une large participation et interaction. Impliquer les gens, dans les groupes de discussion, les listes de diffusion, en tant qu'évaluateurs, contributeurs et mainteneurs de bibliothèques, et en tant que modérateurs et webmasters. Et, bien sûr, en tant qu'utilisateurs des bibliothèques. L'idée n'est pas de créer une organisation qui se trouve avoir un site web. Au contraire, le site web EST l'organisation. Comme tous les bons sites web et toutes les bonnes organisations, elle évoluera au fil du temps.
Après 20 ans de développement de Boost, la bibliothèque a-t-elle atteint ces objectifs ?
Aujourd'hui, Boost est reconnue comme une collection très puissante de bibliothèques C++ ; à chaque version majeure, de nouvelles bibliothèques issues de la communauté ont été ajoutées. Les évaluateurs de Boost possèdent une expertise C++ avancée, et leurs contributions ont permis de maintenir un haut niveau de qualité pendant de nombreuses années. Dès le début, les créateurs de Boost ont choisi d'utiliser des techniques C++ modernes. Cependant, la barrière à l'entrée est très élevée : relativement peu de développeurs C++ peuvent développer de nouvelles bibliothèques conformes aux directives de Boost. Par exemple, nous avons récemment examiné la bibliothèque Boost proposée pour l'injection de dépendances et constaté qu'elle utilise des techniques C++ modernes avancées. Développer de telles bibliothèques exige un haut niveau d'expertise en C++.
Le principal problème est que le C++ moderne n'a pas été largement adopté entre 2000 et 2010 ; les développeurs préféraient l'approche POO au paradigme de la programmation générique. Il a fallu attendre 2011, l'année de la renaissance du C++, pour voir de nombreuses bibliothèques open source adopter les techniques du C++ moderne.
Aujourd'hui, les développeurs sont plus expérimentés en tant qu'utilisateurs de bibliothèques, mais à mesure que le C++ moderne se répand, ils pourraient aussi se sentir plus à l'aise pour contribuer à Boost.
La version actuelle de Boost est la 1.64, et l'on peut dire que le premier objectif a été atteint : de nombreuses bibliothèques précieuses font désormais partie de Boost. Mais qu'en est-il du deuxième objectif ? Le site web et la bibliothèque ont-ils aidé les développeurs à programmer plus efficacement ?
En tant qu'utilisateur de longue date de Boost, je visite le site web de Boost principalement pour télécharger la bibliothèque. La vision originelle était une solution centrée sur le site web, mais nous avons abouti à une solution plutôt centrée sur la bibliothèque. Les développeurs n'utilisent généralement pas le site web pour améliorer leurs compétences en C++ moderne.
Cet objectif est très difficile à atteindre avec un site web dédié. Cependant, de nombreux experts et sites web s'efforcent de promouvoir l'utilisation du C++ moderne. Vous trouverez ci-dessous quelques exemples de sites web référençant le mot-clé « Modern C++ ». Vous pouvez les visiter à l'aide de TouchGraph.

Comme on peut le voir, le « Modern C++ » a été promu par :
- Des experts C++ reconnus comme Herb Sutter, Andrei Alexandrescu, Scott Meyers et bien d'autres.
- Des sites web communautaires comme Stack Overflow.
- De nombreux livres publiés ces dernières années.
On peut dire que les créateurs originels étaient des visionnaires et que l'objectif principal — bâtir une bibliothèque de haute qualité évaluée par les pairs — a été atteint. Nous espérons que Boost connaîtra une adoption encore plus large parmi les développeurs C++ dans un avenir proche.
