4 ms·
No doubt. For starters, UBsan does not check for any invalid memory access. In my C++ course, I require that the code runs correctly under 5 different compiler
by yeputons 4y ago
No doubt. For starters, UBsan does not check for any invalid memory access.
In my C++ course, I require that the code runs correctly under 5 different compilers (GCC, LLVM Clang, Apple Clang, MSVC, Intel C++ Compiler Classic) on 3 OS (Ubuntu, Windows, macOS) in Release, Debug+Valgrind, Debug+Sanitizers modes, and students still get UB quite often.
Extra reading: http://evan.nemerson.com/2021/05/04/portability-is-reliability/ http://evan.nemerson.com/2021/05/04/portability-is-reliabili... and discussion at https://news.ycombinator.com/item?id=27044419 https://news.ycombinator.com/item?id=27044419
- absolutelynobo 4y agoWhy even write C++ at that point? Wouldn’t changing over to Rust save you at least a couple of those steps?
- pjmlp 4y agoTooling, libraries, OS vendor support, IDEs, work force availability,... Many of us write C and C++, because we have to, not because we want to. Rust will eventually reach there, however many of us want to deliver a product, not build an ecosystem from scratch.