The Beamon Project: Improving C++ Standard Libraries Through Implementation and Feedback
0:00:27: Introduction to the Beamon Project, which aims to improve C++ standard libraries by focusing on implementation, user feedback, and technical expertise.
0:02:57: How to join the standardization committee. Companies or individuals can join the committee on their own accord.
0:03:53: C++ standard Library proposals go through a process starting with a proposal paper, then potentially to study groups, Library Evolution Incubator, Library Evolution (design review), Library Working Group (wording), and finally the plenary.
0:08:07: The standardization process emphasizes paper proposals rather than implementations, unlike typical software development practices.
0:11:38: Jeff Garland and Inbal Levy initiated the Beamon project, proposing implementations of standard libraries to gather feedback before standardization.
0:12:13: The Boost Foundation was chosen to host the project, leading to a collaborative effort to define its mission and goals.
0:15:18: Mission: Support the efficient design and adoption of the highest quality C++ standard libraries through implementation, experience, user feedback, and technical expertise.
0:16:10: Naming: Named after Bean Daus, a deceased co-founder of Boost and former chair of the Library Working Group, known for collegial respect and kindness.
0:17:44: The creation of Beamon's logo featuring a dragon, Inbal drew the original concept at 4 AM using paint.net.
0:19:22: Core Principles: Highest quality, production-ready, use of industry-standard technology, welcoming and inclusive community.
0:22:34: Lifetime of a Beamon Library: A library is created based on a standardization paper, feedback is collected, the paper is accepted into the ISO working draft, and the library is delisted after two standard cycles (six years) to encourage adoption of the standard.
0:25:30: Highlighted Libraries:
UTF8 View: Facilitates working with UTF-16 strings on Windows by providing a range-based view of UTF-8 strings as UTF-16.
Iterator Interface: Simplifies the creation of iterators by reducing the complexity of required operators and type definitions.
In Place Vector: Acts as a std::vector but with fixed capacity and stack allocation instead of heap.
0:34:14: Beamon. Exemplar: A best-practice example C++ repository serving as a cookie-cutter for new Beamon libraries, incorporating unit testing, Cmake, documentation examples, sanitizers, and continuous integration.
0:38:25: Discussions: Encourages open discussions on best practices and the adoption of new technologies, with key discussions marked as "Daus discussions."
0:39:57: Results:
Optional 26 received feedback leading to changes in the paper, with a full Beamon implementation available.
In place Vector: early discovery of LWG working group issues through the implementation review.
Studnet library proposal now benefits from extensive community feedback.
0:44:41: Contributions: Users are encouraged to use libraries, provide feedback, check out "good first issue" tags, join the discourse Forum, and contribute code.