3 ms·
You could go for productivity, but that's not the only dimension. You could emphasise safety: C++ has no equivalent to Rust's safe subset. I believe D has a saf
by MaxBarraclough 6y ago
You could go for productivity, but that's not the only dimension. You could emphasise safety: C++ has no equivalent to Rust's safe subset. I believe D has a safe subset too, but I don't think Zig does. You could emphasise portability: C++ seems like the clear winner in terms of having the most supported platforms.
- pjmlp 6y agoMicrosoft and Google are trying to retrofit a safe subset into C++, via the Core Guidelines and lifetimes, enforced via static analysers. Since C++ is more relevant to what I do, naturally I keep validating how good they fair and so far not good. Lifetimes checker for example, is only able to deal with basic workflows and when it complains the error messages aren't that good, leaving you wonder why the analyser considered it an incorrect lifetime. Main reason being, if the call sites aren't annotated, it can only guess the lifetime use, and mostly it gets it wrong. No doubt if they keep throwing money at it, they might eventually solve it, however this is already a three year effort and this is the best so far.
- MaxBarraclough 6y agoIt's also possible to formally verify C++, [0][1] but this isn't commonly done. I imagine it's very labour intensive. [0] https://www.eschertech.com/products/ecv.php https://www.eschertech.com/products/ecv.php [1] https://trust-in-soft.com/ https://trust-in-soft.com/