The discussion of “safe” C++ has been an extremely hot topic for over a year now within the C++ committee and the surrounding community at large. This was mostly brought about as a result of article, after article, after article coming out from various consumer advocacy groups, corporations, and governments showing time and again that C++ and its lack of memory safety is causing an absolute fuckload of problems for people.

And unfortunately, this means that WG21, the C++ committee, has to take action because people are demanding it. Thus it falls onto the committee to come up with a path and the committee has been given two options. Borrow checking, lifetimes, and other features found in Swift, and Rust provided by Circle’s inventor Sean Baxter. Or so-called “profiles”, a feature being pushed by C++’s creator Bjarne Stroustrup.

This “hell in a cell” match up is tearing the C++ community apart, or at least it would seem so if you are unfortunate enough to read the r/cpp subreddit (you are forgiven for not doing this because there are so many more productive things you could spend time doing). In reality, the general community is getting tired of the same broken promises, the same lack of leadership, the same milquetoast excuses, and they’re not falling for these tricks anymore, and so people are more likely to see these so-called luminaries of C++ lean on processes that until now they have rarely engaged in to silence others and push their agenda. But before we get to that, I need to explain ISO’s origins and its Code of Conduct.

  • BB_C@programming.dev
    link
    fedilink
    arrow-up
    9
    ·
    5 days ago

    Later: short summary of the conclusion of what the committee didn’t do (read 307 minutes)

    Fixed that for you.

    If you read the post, you will see it explicitly stated and explained how the committee, or rather a few bureaucratic heads, are blocking any chance of delivering any workable addition that can provide “safety”.

    This was always clear for anyone who knows how these people operate. It was always clear to me, and I have zero care or interest in the subject matter (readers may find that comment more agreeable today 🙂 ).

    Now, from my point view, the stalling and fake promises is kind of a necessity, because “Safe C++” is an impossibility. It will have to be either safe, or C++, not both, and probably neither if one of the non-laughable solutions gets ever endorsed (so not Bjarne’s “profiles” 😁), as the serious proposals effectively add a non-C++ supposedly safe layer, but it would still be not safe enough.

    The author passionately thinks otherwise, and thinks that real progress could have been made if it wasn’t for the bureaucratic heads’ continuing blocking and stalling tactics towards any serious proposal.

    • lad@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      5 days ago

      You got me, I decided to read the article later (I hope to, at least). But your summary looks about right, I don’t really expect C++ to become much safer than it is now, which is not very much. Should take a look at profiles, I love a good laugh

      Edit: looked up those ``profiles’', it looks like a vague and complicated proposal that will require an unrealistic amount of undertaking. But that might be seen as being in the spirit of C++

      • bitcrafter@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        4 days ago

        But that might be seen as being in the spirit of C++

        One might even say that this is another instance of the same template.