this post was submitted on 17 Sep 2024
33 points (94.6% liked)
C++
1718 readers
18 users here now
The center for all discussion and news regarding C++.
Rules
- Respect instance rules.
- Don't be a jerk.
- Please keep all posts related to C++.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The problem with c++ is that it allows people to do whatever they want. Turns out: people are dumb. Rust solved that problem. Nothing more, nothing less.
I heavily disagree. C++ has a lot of problems but it's flexibility is not one of them.
Imo the biggest problem with C++ is that there are a dozens ways of doing the same thing. The std lib is not general and fast enough for everyone. Therefore it's not even "standard" .
I have seen many conferences of a proposed "cpp2" like syntax that breaks abi but imo it's the best way forward.
Rust still allows people to do (basically) whatever they want via unsafe blocks.
Yeah but I have written a lot of Rust and I have yet to use a single
unsafe
block.Saying "but.. unsafe!" is like saying Python isn't memory safe because it has
ctypes
, or Go isn't memory safe because of itsunsafe
package.See my reply to funtrek's reply.
Sure, but you have to explicitly enable this feature. In c++ you can use the oldest shit from twenty years ago and your compiler happily does its job. All my c++ books are full of "you shouldn’t use xy as it is deemed unsafe now, but of course you still can".
If a "safe C++" proposal truly proposes a safe subset, then yes your C++ code would have to opt-in to doing unsafe things. For the purposes of this discussion of a safe subset ... the point is moot.
It's not moot. The Safe C++ is opt-in to safety. It has to be because otherwise it wouldn't be compatible with existing C++.
That's a laudable difference /s. Using Rust is also an "opt-in" option.