3 ms·
"It chose to attack the lowest-hanging fruit first, the one thing about Apple's development environment most likely to stand out as primitive and backwards to p
by ldar15 15y ago
"It chose to attack the lowest-hanging fruit first, the one thing about Apple's development environment most likely to stand out as primitive and backwards to programmers coming from other platforms or even fresh out of school: manual memory management."
ARC works great until you have cyclic references. Then you "just" have to add "Zeroing Weak References". Ok. Where? How do I know when I have to add them?
The problem with reference counted memory management is NOT having to type [x retain]. Its having to KNOW where NOT to type it. ARC doesn't solve this at all. It just allows an entire generation of programmers to stop thinking about it altogether. That's going to end well.
- sid0 15y agoThere are other forms of memory management than manual and refcounted.
- astrange 15y agoYou can find retain cycles using the abandoned memory and ARC debugging tools in Instruments.
- buff-a 15y agoI can. You can. I bet most can't, and even if they could, still wouldn't know the right place to break the cycle. If you break the cycle in the wrong place then things go bye-bye when you still need them. I've had this very discussion on here. Hell, at a games company that developed AAA titles, I had to demonstrate to a non-junior programmer that C++ references can be null. To the majority of programmers, memory management is incomprehensible voodoo. And they're all making iPhone apps. o_O