8 ms·
I certainly don’t disagree with you there (about ease-of-use vs safety). I personally believe the “right” choice in C++ is to err on the side of safety (at leas
by electrograv 4y ago
I certainly don’t disagree with you there (about ease-of-use vs safety). I personally believe the “right” choice in C++ is to err on the side of safety (at least when adding new stuff), and wish STL did too — especially given how notoriously difficult it is to write C++ code that isn’t plagued with memory corruption bugs
I know anything other than switching to Rust is a losing battle of compromises in some sense, but many of us working with huge codebases written in C++ don’t have the luxury of that choice being unavailable.
- germandiago 4y agoIf you write C++ code plagued of memory bugs maybe it is bc you take it too far. I fo not think it is particularly hard to write memory safe code. Sure you mist avoid a few things but there are alternatives on what to do instead/not what to do.
- germandiago 4y agoOk, so downvote and no reply: - you can use string_view more conservatively - you can stick to value semantics. - use spans in things that do not escape. - use smart pointers. - do not capture escaping lambdas that have capture by reference. If you go wild raw pointers willy-nilly around, then yes, you are gonna have a plague of sh*t because you are an incompetent using C++. I do not expect people to play the violin or drive a car without a minimal of training.
- CoastalCoder 4y agoI'm guessing that the downvotes were because people were focusing on how easy c++ makes it to unwittingly introduce such bugs. So suggesting a disciplined usage of c++ sounded like a hard sell. It's helpful that you elaborated on the details.
- germandiago 4y agoIt is not so much of a disciplined thing compared to what you need to do in C...