FROM : Paul Sargent
DATE : Mon Jun 02 20:35:33 2008
On 2 Jun 2008, at 18:50, Bill Bumgarner wrote:
> While learning the retain/release paradigm is certainly useful, it
> is considerably more complex than GC. It is also unnecessary while
> learning Cocoa. Specifically, GC is intended to be a production
> quality solution that you can use in your Cocoa applications,
> without exception. In Leopard, there have been a handful of bugs
> and they have been addressed through software updates -- not
> surprising given the rather sweeping and intrusive set of changes
> needed to support GC. And GC will get better / faster in future
> releases.
I agree with nearly everything you've said, except the (second half of
the) first statement.
I wouldn't say retain/release is more complex than GC. I'd say using
retain/release in a medium->large size project is more complex than
using GC, but the base concept is a simpler one. Whilst learning,
getting retain/release wrong tends to be less confusing than getting
GC wrong. GC will make things disappear at random times, whereas
retain/release will tend to be deterministic in behaviour.
... and it's good grounding. Learning some of the old styles of
writing Cocoa apps (e.g. accessor methods before properties, custom
controllers before bindings) makes learning the newer styles that much
easier. You don't need to write big projects without the nice new
technologies. Just do a few test apps with them and understand why you
want them.
That's how all the senior programmers on this list learnt (although
they didn't have a choice). Why do we think that people following can
jump a few steps?
That's my opinion anyway. (Feel free to disagree, but we probably
don't need another big thread about it)
DATE : Mon Jun 02 20:35:33 2008
On 2 Jun 2008, at 18:50, Bill Bumgarner wrote:
> While learning the retain/release paradigm is certainly useful, it
> is considerably more complex than GC. It is also unnecessary while
> learning Cocoa. Specifically, GC is intended to be a production
> quality solution that you can use in your Cocoa applications,
> without exception. In Leopard, there have been a handful of bugs
> and they have been addressed through software updates -- not
> surprising given the rather sweeping and intrusive set of changes
> needed to support GC. And GC will get better / faster in future
> releases.
I agree with nearly everything you've said, except the (second half of
the) first statement.
I wouldn't say retain/release is more complex than GC. I'd say using
retain/release in a medium->large size project is more complex than
using GC, but the base concept is a simpler one. Whilst learning,
getting retain/release wrong tends to be less confusing than getting
GC wrong. GC will make things disappear at random times, whereas
retain/release will tend to be deterministic in behaviour.
... and it's good grounding. Learning some of the old styles of
writing Cocoa apps (e.g. accessor methods before properties, custom
controllers before bindings) makes learning the newer styles that much
easier. You don't need to write big projects without the nice new
technologies. Just do a few test apps with them and understand why you
want them.
That's how all the senior programmers on this list learnt (although
they didn't have a choice). Why do we think that people following can
jump a few steps?
That's my opinion anyway. (Feel free to disagree, but we probably
don't need another big thread about it)






Cocoa mail archive

