cmeerw@programming.dev to C++@programming.devEnglish · edit-22 months agoThe empire of C++ strikes back with Safe C++ blueprintwww.theregister.comexternal-linkmessage-square38fedilinkarrow-up138arrow-down12cross-posted to: programming@programming.devhackernews@lemmy.bestiver.se
arrow-up136arrow-down1external-linkThe empire of C++ strikes back with Safe C++ blueprintwww.theregister.comcmeerw@programming.dev to C++@programming.devEnglish · edit-22 months agomessage-square38fedilinkcross-posted to: programming@programming.devhackernews@lemmy.bestiver.se
minus-squareFizzyOrange@programming.devlinkfedilinkarrow-up9arrow-down1·2 months agoYeah 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.
minus-squareFalconMirage@jlai.lulinkfedilinkarrow-up4arrow-down2·1 month agoYou don’t have to use unsafe C++ functions either C++ is technically safe if you follow best practices The issue, to me, is that people learn older versions of the language first, and aren’t aware of the better ways of doing stuff. IMO people should learn the latest C++ version first, and only look at the older types of implementation when they come across them
minus-squareFizzyOrange@programming.devlinkfedilinkarrow-up2·1 month ago C++ is technically safe if you follow best practices Yeah but it’s virtually impossible to reliably follow best practices. The compiler won’t tell you when you’re invoking UB and there is a lot of potential UB in C++. So in practice it is not at all safe.
minus-squareFalconMirage@jlai.lulinkfedilinkarrow-up4·1 month agoI agree I was only adding my opinion (that people should try to always use the latest version of C++, which is inherently safer, but still not 100% safe)
minus-squareDark Arc@social.packetloss.gglinkfedilinkEnglisharrow-up1arrow-down6·2 months agoSee my reply to funtrek’s reply.
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.You don’t have to use unsafe C++ functions either
C++ is technically safe if you follow best practices
The issue, to me, is that people learn older versions of the language first, and aren’t aware of the better ways of doing stuff.
IMO people should learn the latest C++ version first, and only look at the older types of implementation when they come across them
Yeah but it’s virtually impossible to reliably follow best practices. The compiler won’t tell you when you’re invoking UB and there is a lot of potential UB in C++.
So in practice it is not at all safe.
I agree
I was only adding my opinion (that people should try to always use the latest version of C++, which is inherently safer, but still not 100% safe)
See my reply to funtrek’s reply.