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

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 2 days ago (2 children)

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.

[–] [email protected] 6 points 2 days ago

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.

[–] [email protected] -4 points 2 days ago (2 children)

Rust still allows people to do (basically) whatever they want via unsafe blocks.

[–] [email protected] 8 points 2 days ago (1 children)

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 its unsafe package.

[–] [email protected] -5 points 2 days ago

See my reply to funtrek's reply.

[–] [email protected] 6 points 2 days ago (1 children)

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".

[–] [email protected] -5 points 2 days ago (1 children)

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.

[–] [email protected] 5 points 1 day ago (1 children)

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++.

[–] [email protected] -4 points 1 day ago* (last edited 1 day ago)

That's a laudable difference /s. Using Rust is also an "opt-in" option.