Re: Learning the Interface Builder
Re: Learning the Interface Builder
- Subject: Re: Learning the Interface Builder
- From: Conrad Shultz <email@hidden>
- Date: Fri, 04 Nov 2011 20:07:21 -0700
On 11/4/11 6:47 PM, Matt Neuburg wrote:
>
> On Nov 4, 2011, at 6:06 PM, Conrad Shultz wrote:
>
>> While in the long term ARC should greatly ease developers' lives,
>> if I were you I would ignore it for the time being
>
> It won't surprise anyone to learn that I don't agree. To me, this is
> like saying, "Before you learn Objective-C, learn C++ so you
> understand how horrible things *could* be."
Figured you might. :-)
However, I think the C++ comparison is unfair; (pure) Objective-C does
not use C++. There is plenty of Objective-C code that one encounters,
though, that has not adopted ARC yet (i.e. most of it - for example,
neither TextEdit nor Sketch, the flagship sample applications, use it,
unless there has been an update I missed).
I think a more accurate comparison would be to say "learn C before
Objective-C." Clearly you CAN write perfectly functional Objective-C
applications without learning much underlying C, but you will eventually
have to confront it, and having at least some familiarity with it will
make Objective-C a lot easier.
(An even closer comparison might be learning garbage collection vs.
manual reference counting, but that's probably unfair since the rise of
iOS pretty much torpedoed garbage collection for a vast swath of
applications.)
> ARC transforms Objective-C into something much more like a modern
> object-oriented language. In fact, it's downright delightful. Just
> because we all lived for over a decade with the horror and tedium of
> manual memory management doesn't mean you have to.
You are not going to get any disagreement from me that ARC is
delightful. I haven't started using it in any existing projects (yet),
but I've played with it enough to know that I will definitely be using
it for anything new, and am planning to migrate.
My statement was purely in regard to the learning process for Amanda at
the present moment. The books she has do not cover ARC (though I
imagine Hillegass/4 will). The Apple documentation on the matter (which
I linked to), as far as I can tell presupposes a fair amount of
experience with Objective-C. Even the best third party discussions (I'm
thinking of Mike Ash here) would be laborious for someone just getting
started.
And as soon as she starts using any of the Core Foundation APIs (which
include some biggies), she's going to encounter CFRelease() and friends
anyway (though one can only hope that that one day gets ARCified as well).
I'm not saying "don't learn ARC" - I'm saying that for some time manual
reference counting is still going to be prevalent and useful, if for no
other reason than reading other people's code. Might my opinion be
different in a year? Quite likely - I expect by then we will see much
higher visibility of ARC (and who knows, maybe even further
simplification of the system itself; sorting out __bridge vs.
__bridge_transfer vs ... seems to be a popular mailing list topic these
days).
--
Conrad Shultz
Synthetiq Solutions
www.synthetiqsolutions.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden