Re: Learning Mac programming
Re: Learning Mac programming
- Subject: Re: Learning Mac programming
- From: Sherm Pendley <email@hidden>
- Date: Fri, 1 Aug 2003 00:08:31 -0400
On Thursday, July 31, 2003, at 11:10 PM, David Thorp wrote:
From what I understand of it all, I'd really like to learn Cocoa, and
WebObjects.
Those are actually two very different subjects. At one time, EOF - the
low-level database layer under WO - was available for Cocoa programmers
to use. Now, for all practical purposes, it's not.
So, what we're left with at the moment is, Cocoa for GUI apps, and WO
for web apps.
My understanding at the moment, is that Cocoa requires objective-C or
Java.
The officially-supported languages are Objective-C, Java, and
AppleScript. Unofficial alternatives include Perl, Python, and Ruby -
there are probably others I'm unaware of. From what I've observed, the
majority of Cocoa programmers use Objective-C.
I've seen a few books etc. on objective C and Cocoa, but it seems
they require a good understanding of C or C++ first. Is all that
correct?
A good understanding of the C language itself is very helpful. Some
level of familiarity with the standard C function library can be
helpful too, but it's not critical. You won't be using those functions
very often for Cocoa, and when you do need them you can always look
them up.
Can anyone direct me to any learning materials that could teach me all
these skills.
I think that trying to tackle all these things at once could be
daunting, and may leave you overwhelmed and frustrated. In my opinion,
it would be better to start with very basic C to learn the ins and outs
of programming. I'm talking about simple "Hello, world!" and "print all
multiples of 5 from 25 to 100" type stuff that works in a Terminal
window. That type of thing will help you learn the fundamentals - what
variables are and how to use them, how to loop repeatedly over a
section of code, how to create a block of code that's only executed if
a certain set of conditions are true, etc.
One very important distinction is to separate learning how to program
from learning any particular language. The first is about concepts and
ideas, while the second is a means of expressing those ideas. Once you
have a firm grasp of the concepts of programming, then learning the
syntax of a language - i.e. learning how to express those concepts in
it - is easy. On the other hand, if you lack a good understanding of
the concepts, then you'll have a tough time of it regardless of how
well you've memorized the syntax details of the language you're using.
The first few steps are the hardest, because you're faced with both new
concepts and a new language. Later, it will get easier, as you learn to
express your ideas in a new language, or to learn new ideas while
expressing them in a language you're already familiar with. That's why
Cocoa is easier if you learn C first - For most folks, Cocoa represents
a whole raft of new ideas and concepts, but the Objective-C language is
a very small step from C. Learning C first lets you focus on the new
ideas, without having to worry a great deal about a new language
syntax.
If you have the time, inclination, and money, an "introduction to
programming" course at your local university could be useful. Many of
the best programmers in the business are entirely self-trained, or
educated in an entirely different field. Others swear by the value of a
college education. I think it has a lot to do with varying personality
types - some people thrive in a classroom environment, while others
learn better by diving into a good book on their own.
sherm--
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.