Re: Learning Cocoa, but no programing experience, possible?
Re: Learning Cocoa, but no programing experience, possible?
- Subject: Re: Learning Cocoa, but no programing experience, possible?
- From: Jeff LaMarche <email@hidden>
- Date: Wed, 1 Feb 2006 16:01:55 -0500
On Feb 1, 2006, at 1:35 PM, Scott Ellsworth wrote:
I would not learn C first. I would learn Objective C as part of
learning Cocoa. I give the same answer to new Java programmers who
ask about learning C, or just learning the language and not the
libraries - start with the language and libraries you want to use,
and learn them as you need to.
I hate to disagree with you, since I actually agree with most of your
post, but I strongly disagree with this bit of advice. I do agree
that having prior Java or C++ experience can actually be detrimental
to somebody learning Cocoa given how different the object models are,
but I've also found that a lot of people who don't take the time to
learn the fundamentals of how C works are at a disadvantage when
coding Cocoa. They often write very inefficient code and incur object
overhead in situations where it's not advisable to use objects. The
great thing about Objective-C being a superset of C is that you can
use all of C, and there are times when it makes sense to just use C
and not incur the overhead of objects or messaging.
I think it's important to have a grasp on the lower level stuff in
order to write good code. How can you write good code if you don't
know what's happening when your code fires? I've known way too many
VB and Java programmers who write horribly inefficient code because
they never bothered to learn anything at a lower level of abstraction
and just started right in with these higher-level languages. They
don't understand what their code does and as a result write a lot of
bad code. I've spent a lot of my professional life cleaning up after
people like this and am not a fan of "shortcuts" to becoming a
programmer because they usually involve not learning something you
should know. Don't arm yourself with only a hammer and think you're
ready to build a house because you've got it.
I don't think you need to spend time hand-coding assembly to become a
good programmer, but I do think you need to know the language you are
programming in, and you can't know Objective-C without fully knowing
C. And if you try to learn all three (C, Objective-C, Cocoa) at the
same time, it can be a bit overwhelming for somebody with no
programming background.
So, long story short - I personally think you should learn C, then
Objective-C, then Cocoa. Just my 2ยข, your mileage may vary, yada yada.
Jeff
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden