Jack Firth wrote on 08/17/2015 03:21 PM:
From my limited experience with C, I've learned it's pretty much impossible to expect any sane human to keep track of memory perfectly.

That's a helpful impression. C must be feared and respected, before it can be tamed.

That said, I think it's feasible for an sane, non-genius software engineer to do memory in C pretty much perfectly. They need experience, to have figured out viable conventions, to be very disciplined, to own the code, and to frequently think hard about how to do things in a manageable way.

Anecdotally, lot of the security vulnerability memory bugs we see in, say, servers appear to just be either from someone who knows better but is overextending themselves, or someone who hasn't yet taken C difficulty as seriously as they need to.

Then there is also the "weakest link" problem: in this kind of software, everyone could be perfect, but one person who is inexperienced/sloppy/fatigued/drugged/rushed can crash the system, in a way that unit testing won't catch. A poorly-manageable interface by one person can also lead to very disciplined other people making mistakes.

Of course, there will pretty much always be bugs in any code, but C code doesn't have to be as buggy as it is.

Neil V.

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to