Re: Visualizing Cocoa
Re: Visualizing Cocoa
- Subject: Re: Visualizing Cocoa
- From: Jonathan Hendry <email@hidden>
- Date: Mon, 11 Jun 2001 23:37:45 -0500
On Monday, June 11, 2001, at 11:50 , email@hidden wrote:
The idea of sending newbies to learn C first should be a big waste of
time, but the few Objective-C resources out there all assume a
knowledge
of C. While the new programmer learns about control structures (if,
while, for) and data types (double, int), they waste time learning
about
structures and functions as separate entities. I realize that NSRect's
and NSRange's are structures, but the usage of them can be covered much
more briefly in an Objective-C book.
This is one of the more inane posts I've seen on this list - and that's
saying something. You can't expect to deal with a complex programming
environment unless you understand -- and understand well -- the simpler
components from which it's built. You also need to know its history to
fully grasp it.
For what it's worth, I started coding Objective-C on NeXTSTEP
before I'd done any C programming or had a C class. I'd had
typical freshman-year pascal, and I'd picked up a copy of
Think C to play with, but I lost interest due to the massive
amount of code needed to make a Mac say 'boo'.
If you compare typical NeXT-ish Objective-C code to code
from a typical C project, they look like different species. There
are things done in C projects that just aren't done in a typical
Objective-C project.
There's also something to be said for a person not having _too_ much
procedural coding background, so they more easily grasp the
OO mindset.
"Don't encourage people to run before they can crawl; they
are certain to get discouraged if they do."
Then again, if you make running sound really hard, they might
get discouraged and settle for crawling. Lord knows how many
people have been turned off by the prospect of learning Objective-C
because they think it'll be hard (probably because of their
experience with C++).
Cocoa projects can cover a wide range of difficulties. Frex, a novice
programmer should be able to handle a screensaver module, if they've
got examples to copy. They might start by tweaking an example, before
starting something more original that requires more original code.
You don't need to know _all_ of Cocoa to start coding little things.
It's possible to learn as you go. This assumes that people aren't
going to sit down to whip up an order entry system or a photoshop
clone. There are limits. But they might sit down and whip up
a little utility for scaling images, or a better desktop photo
selector interface, or something like that.
That's what's nice about Cocoa, and why it can be good for beginners:
you don't have to bother with all the extraneous cruft. You can
concentrate mostly on what you want the program to _do_.