Boost logo

Boost :

From: Vinnie Falco (vinnie.falco_at_[hidden])
Date: 2024-09-16 15:36:14


Hi. I am proud to announce that the C++ Alliance has entered into a
partnership with Sean Baxter to develop Safe C++: language extensions
to provide memory safety in C++. Some of you might have seen the
official announcements on various social media sites, and I’m here to
provide some more information on how this initiative affects Boost.

First, I want to express my appreciation for Sean’s enormous technical
abilities, and for his stamina to invest eight years of research and
development into Safe C++. I believe that his efforts reflect good
philosophical principles for improving the language with memory safety
extensions:

1. Safe C++ must be a superset of C++: all existing code must work.

2. Safe C++ must allow controlled opt-in to memory safety: expecting
the world to rewrite everything in a new language is not realistic.

3. Safe C++ must be developed using an implementation-first approach:
a working model is preferable to just ideas.

The partnership with Alliance has three deliverables: research the
remaining design problems, complete the Safe C++ Language Extensions
proposal for standardization, and implement the Safe C++ Standard
Library. The safe library is a set of additions to the standard
library providing essential vocabulary types and algorithms needed by
users to achieve memory safety.

We don’t know that Safe C++ is the final solution for memory safety in
C++. Perhaps the required extensions will be so intrusive as to make
it effectively a new language. Maybe the language features which allow
for zero-cost abstractions are so powerful that they can’t be
preserved in ways that are memory safe. Yet there is value in
pioneering this design space that Sean has carved out. It is also
possible that Safe C++ becomes the winning memory safety story for
C++. We at the Alliance believe it is worth taking the chance to find
out.

Through the relationship with Alliance, the Boost community has a
unique opportunity to participate in helping to explore and solve the
remaining difficult design problems, and a front-row seat to the
latest draft of the Safe C++ proposal which can be viewed here:

https://safecpp.org/draft.html

If you would like to discuss Safe C++ in real time with other
engineers please join the #safe-cpp channel in the Official C++
Language Slack Workspace by signing up here:

https://cppalliance.org/slack

What does this mean for Boost?

There is a tremendous opportunity here for Boost to innovate ahead of
the C++ Standard. I envision the scenario where some volunteers will
port selected Boost libraries to Safe C++ as a proof of concept. The
porting process will surface areas of the proposal which need work. As
memory safety is rapidly becoming the defining feature of modern
mission-critical software development, the opportunity for Boost to
lead in this area may attract the needed revitalization of the project
in the form of new volunteers.

Please join us in helping to define this exciting chapter of the C++ language!

Thanks


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk