zirias@
Developer
It's always implied around arguments like "hey, we've had a history of security issues, we have to move to a different language to fix this".Ok, this "silver bullet" argument nobody brought up is a "dangerous idea", but ...
What ... this list of rules to follow? No, it's the exact opposite regarding the mindset needed. It's "I have to invest thought into the design of my program to make it secure" instead of some "the language will safeguard anyways"...... this is not? Seriously?
Do you have an example (link to phabricator)? And then, why don't you request reducing the complexity there? Just picking one example from that list, factoring out the body of a "monster loop" into a few desciptively named (static) functions doesn't cost you anything regarding performance with a sane compiler.Reality just doesn't work that way. Take FreeBSD src for example. As a reviewer I'm often confronted with overly long functions, switches, goto sections and monster loops where it's difficult to check all possible exit paths. And it's not that this code was written by amateurs without any sense of design and structure.
That's simply not true. And on a side note, I think RAII (which is only essential for "safety" with exceptions) is a particularly bad idea, it enforces creating (technically motivated!) classes for each and every technical resource.C lacks some essential features to support safe programming (e.g. RAII),
And that's a way to describe "lazy" programming...and the economics of C programming incentivize some bad programming constructs. It's not a shame to admit that, regardless of what one thinks about Rust - C was designed in a different time.
Can't say much about that, other posts in this thread suggest the opposite ... I didn't do any experiments and analysis myself.BTW, there's no significant difference in runtime performance between C, C++ or Rust. Once compiled, relative performance stays within one digit percentage, with no language a clear winner for all sorts of tasks. Libraries are a different topic though.