Re: Learning Curve/Documentation Challenge/Recommendation
Re: Learning Curve/Documentation Challenge/Recommendation
- Subject: Re: Learning Curve/Documentation Challenge/Recommendation
- From: "Scott Ellsworth" <email@hidden>
- Date: Sat, 17 May 2008 12:39:29 -0700
On Sat, May 17, 2008 at 8:09 AM, Steve Weller <email@hidden> wrote:
>
> On May 17, 2008, at 7:19 AM, Hamish Allan wrote:
>
>> On Sat, May 17, 2008 at 3:03 PM, colo <email@hidden> wrote:
>>
>>> F-Script [...] gives you the code to Create a window from scratch
>>> and logically place the buttons on the window by coordinates. That
>>> kind of "knowing" how to make a window without IB is priceless to me
>>> imo.
>>
>> I know you're never going to believe us about this, but it would be
>> much more valuable for you to stop fighting the Cocoa way and forget
>> about constructing windows in code until you absolutely need to...
>>
>> Hamish
>
> Of course, but that is not what is going on here.
I have taught a lot of people how to code in Cocoa, and this sure
looks like fighting the system to me. Much like when I was learning
how to play a guitar, or how to solve physics problems, higher level
understanding often follows sufficient practice in the basics. Going
through the tutorials, or the hillegas book, or noodling around on
your own all give practice in opening xcode, building projects,
navigating code, and using IB. Understanding will come, but it is
helped by having the basic actions of these tasks nailed down.
Sure, you may start out robotically dragging/clicking and copying code
without sufficient understanding, but different people will fail to
understand different things. Each person evolves their own techniques
to fill in those gaps. F-script is not a bad one, but arguing that
rewriting whole books to use it as the only manipulation tool
indicates that the OP is walking a bit off the beaten track. That is
rarely the best way to learn a new thing, if only because you cut down
the pool of people who can help you.
> He's quite happy to walk across the floor, but knowing how the floor is
> constructed adds enormously to his confidence of doing so. Don't forget this
> is an unfamiliar building, a type of which he has not encountered before.
Sure. That said, perhaps digging into how it is constructed could
wait until after he has successfully built a few applications the way
Cocoa apps are usually built. That gives a gut feel for how the
actual process works, and helps make it clear just what part of the
process is not working. We are not talking about decades of
unrelenting practice - going through Aaron's book takes only a week or
two, and once you have done it, the basics are pretty much nailed
down.
> It's a different learning and understanding style that cannot be dismissed
> by calling it fighting. If he were to refuse to touch anything but the green
> tiles and make bridges out of chairs and tables to sustain that, well that
> would certainly be fighting.
Trying to create windows, etc. without ever touching IB, which was the
original hope, is most definitely fighting how Cocoa expects to be
used. I do not believe I have written a single substantive Cocoa app
without using IB at least a little bit. F-script is a great tool, and
certainly worth using, but it is not a replacement for IB.
Don't get me wrong - there is a lot of benefit to knowing how the
system is built, and some views or window hierarchies require assembly
in code. That is not my complaint - my complaint is that the OP seems
very certain that doing the tutorials, the book, etc, will not help
because he is not going to understand the material as a result of the
work. I contend that spending the week or so needed to really absorb
the material will give him the context needed to understand what is
going on behind the scenes.
Scottt
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden