5 ms·
You came in guns blazing and then covered yourself in embarrassment already in the first two points you made. The thing you said doesn't work is in use on mill
by blub 8y ago
You came in guns blazing and then covered yourself in embarrassment already in the first two points you made.
The thing you said doesn't work is in use on millions of devices, working just fine. Or maybe you'd like to be more precise than "work".
Avoiding cycles and thinking about ownership is not programming carefully, it's merely programming. Really, manual memory management is not rocket science folks, just error prone. And RAII is reliable to the point that anyone that is capable of writing software can wield it.
- coldtea 8y ago>Really, manual memory management is not rocket science folks, just error prone Doesn't have to be rocket science to be a cognitive burden. And we want to eliminate "error prone" factors...
- blub 8y agoAnd we did eliminate them. But no one can seriously claim that GC is a magic bullet, because it's only clearly winning against plain C. Carefully designed, popular languages are choosing RAII and reference counting implementations and those are very competitive.
- mcguire 8y ago? C++ and Objective C inherited C's memory model and thus don't have a good memory management option. Rust is explicitly a systems language, meaning stronger memory models are out of scope, and then inherited most of C++'s idioms. Other than those, what popular languages are specifically choosing reference counting as a primary GC method?
- steveklabnik 8y agoSwift.
- mcguire 8y agoWhich inherits its memory management from Objective C.
- pjmlp 8y agoSwift requires reference counting for compatibility with Objective-C code. Apple could have gone the .NET way (RCW) to interface with COM reference counting, but that naturally would complicate the bindings to Objective-C runtime and existing libraries.