Ah, right, sorry.  I'm not saying the existing API would permit such a
change, more's the pity. All I'm saying (and I doubt that saying this has any value) is that it could, and in my opinion should, have been done that
way in the first place.

It's very tempting to try to enforce this in a CF-based API. It also turns out to be really annoying to use the subsequent API. If you look at CoreFoundation itself, you'll find a lot of void returns (what, errors? impossible!) and non-retaining getters... these make it really simple to use and impossible to use safely, and impossible to improve the implementation there-of. You really appreciate this the first time you re-implement a function conscious of the fact that it now deliberately leaks every time it's called (don't ask, the memory still makes me cry).

Having written libraries/frameworks at both the C, CF and Cocoa levels, if you told me you were writing one in anything less than Objective-C, I would slap you in the face, shake you by the shoulders and scream "Why? Oh god why?". And you'd better have a damn good reason (there are some, but they're thankfully rarely applied), else I'll revoke your programming privileges for eighteen months. :P

And though personally I dislike GC, if you said you weren't supporting it, I'd be upset much the same. It should be pretty obvious to everyone that GC is ultimately the way forward, and that it's only going to get better as time goes on. Reference-counting is virtually static. It will not magically improve in any significant way. If you think GC can never outperform it, even in theory, I'd politely suggest you haven't considered the matter very well.

So while it's not a panacea today, complaining about it on lists is not productive (as opposed to seeking workarounds in a constructive manner, which is entirely appropriate). Please file bugs, as Bill has reiterated over and over. How many software companies do you personally get begged by to optimise your specific use?

Wade
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to