3 ms·
And I think the difficulty of manual memory management is vastly overrated. A bug is a bug is a bug. If OpenSSL is ... safety critical, then it should be treat
by ArkyBeagle 11y ago
And I think the difficulty of manual memory management is vastly overrated. A bug is a bug is a bug. If OpenSSL is ... safety critical, then it should be treated as safety critical going forward. Tools don't make bugs, people make bugs.
Of course, someone's free to write a replacement for OpenSSL in Rust and see how far that goes.
FWIW, there used to be a rich suite of very respectable ASN.1 verification tools, at least the subset of ASN.1 used in SNMP.
- masklinn 11y ago> I think the difficulty of manual memory management is vastly overrated. And your line of thinking is why we're going on 50 years of empirical evidence that people are terrible at manual memory management, and as with politics there's a pretty small common subset between those who believe themselves competent and those which should be trusted with it. > A bug is a bug is a bug. An error message is not a misprint is not a denial of service is not a DB penetration is not a crypto break is not a network ownage. "A bug is a bug is a bug" as long as your code is not used by anybody or trusted with anything.
- ArkyBeagle 11y agoManual memory management can be done safely and economically. This really is as simple as "the thing in the loop which has agency is the human, so the buck stops there." And a bug is still a bug is still a bug. This is not even a single point of failure; it's an ecosystem failure.
- outworlder 11y agoIt is cheaper still to do automatic memory management.
- ArkyBeagle 11y agoCalculated exactly how and in what context? :) I'd agree in cases - <vector> in C++ don't cost much. It "delete()s" upon going out of scope.
- masklinn 11y ago> Manual memory management can be done safely and economically. There is very little evidence of that, and extensive evidence to the contrary. > This really is as simple as "the thing in the loop which has agency is the human, so the buck stops there." Not only is that exactly the opposite of one of the few groups which did manage to get somewhat good at this (the on-board shuttle group), it's also the incorrect and inane thinking which led e.g. surgeons to resist checklists. Again, your line of thinking has only led us to half a century of failure. Agency is irrelevant, people are good at creative elements but terrible at systematic ones, yet you're pushing more systematic work onto the one piece of the chain least suited for it, then blaming it for its failure. > This is not even a single point of failure; it's an ecosystem failure. Well there's at least one thing we agree on.
- pcwalton 11y ago> Manual memory management can be done safely and economically. Citation? You will need evidence to back this claim up, and the evidence shows that C and C++ apps are far more vulnerable to these bug classes than apps written in memory safe languages. > This really is as simple as "the thing in the loop which has agency is the human, so the buck stops there." This is like saying "we don't need instruments in our planes' cockpits because the thing in the loop that has agency is the pilot, so the buck stops there". Memory safe languages are tools that help programmers not write these kinds of vulnerabilities. We use tools because we as humans are imperfect.