this post was submitted on 20 Nov 2024
40 points (90.0% liked)

Programming

17489 readers
52 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] calcopiritus@lemmy.world 14 points 2 days ago (2 children)

And unfortunately, this means that WG21, the C++ committee, has to take action because people are demanding it

Why does this mean that they have to take action? Why do they need to make C++ memory safe?

C++ was not designed to be memory safe. If you try to make C++ memory safe, you'll have to break retro compatibility. If you're going to break retro compatibility, can you say it's still C++? Or another language called C++2? At that point, why not just use another language that was designed from the start to be memory safe?

The action that should be taken is to completely avoid starting any new project in C++, and let the language die. A programming language is nothing more than a tool, once the tool no longer works, you search for another that does.

C++ should go the way of fortran and cobol. The only development of C++ should be done is to maintain existing huge codebases that would be too expensive to rewrite.

[–] sukhmel@programming.dev 3 points 2 days ago

once the tool no longer works, you

… try every trick to make it look like it works, blame everyone for not using it, blame everything for not working the way it should, break some things that are made with other tools that work for a good measure (it was their fault for being too arrogant, anyway)