4 ms·
Best practice has changed, but C++ does not enforce it. Did Samsung follow best practices with Tizen? Languages like Rust and Haskell are an attempt to put suc
by willtim 9y ago
Best practice has changed, but C++ does not enforce it. Did Samsung follow best practices with Tizen?
Languages like Rust and Haskell are an attempt to put such best practice into the language tooling.
- fooker 9y ago>Languages like Rust and Haskell are an attempt to put such best practice into the language tooling. Best practice often varies between projects and changes rather often, ..say.. in a matter of a few years. Most of what Haskell and Rust offer are a library away (yes, even compile time checks) for C++, but not vice versa. There is a reason new languages with baked in 'opinion' come and go.
- willtim 9y agoYou cannot make C++ secure and safe with a library.
- fooker 9y agoIf you state your criteria for 'safe' and 'secure', I can point you towards library implementations for each of your points. You can not stop the users from shooting themselves in the foot, but that is not the goal here. We want to enable 'safe and secure' programming, not develop toy idiot-proof write-only languages that are useless for large projects.
- willtim 9y ago> You can not stop the users from shooting themselves in the foot, but that is not the goal here. It should be the goal. Even experts make mistakes. This is why static type systems exist. The logical thing to do is to strengthen the type system to prevent more classes of errors.
- fooker 9y agoAnd yet you always need to provide users an way out for the sake of pragmatism. Examples: Rust's unsafe block, Haskell's Unsafe.Coerce, etc. If the user avoids the analogous features in C++ and stick to modern conventions, it is not less safe/secure.
- UncleMeat 9y agoYou'd have to be insane to want to implement an os in Haskell.