• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Learning Objective-C (Re: Jeff Lamarche: Public Enemy #1)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Learning Objective-C (Re: Jeff Lamarche: Public Enemy #1)


  • Subject: Learning Objective-C (Re: Jeff Lamarche: Public Enemy #1)
  • From: Marcel Weiher <email@hidden>
  • Date: Tue, 12 Jun 2001 09:32:25 +0200

On Tuesday, June 12, 2001, at 12:27 Uhr, email@hidden wrote:

[snip]

The best synonym I can think of for
"inane" in the context I used it is: silly. You wouldn't suggest that
someone learn to drive on a big rig, or learn to fly in a commercial jet?
Such a comment would be deemed "inane" by almost anyone. Yet, in your
posting, you recommended that people NOT learn the basics of programming,
but rather jump right into an advanced development environment that makes
heavy use of some pretty sophisticated concepts. How could this possibly be
seen as anything other than silly?

Very easily.

The "sophisticated concepts" introduced by Objective-C are actually taken from Smalltalk. Smalltalk was created at the LRG of Xerox PARC. LRG stands for Learning Research Group, and it turns out that Smalltalk was specificially designed, and continually redesigned to make it even easier to learn, because that was the primary purpose of the whole exercise. In the end, Smalltalk was reduced to objects and messages (+some
other details such as classes,methods,assignements,returns), and that was all they needed.

So the 'object side' of the Objective-C hybrid is actually the simple part, it is the integration with C that introduces strangeness and difficulties. It also turns out that in day to day Cocoa programming, you don't use that much 'C', except for curly braces to delimit methods, some conditionals, possibly a loop or two (but fewer of those if you use HOM), declarations of arguments and temps and the odd assignment and return statement. Well, at least that's how it is for me.

So the approach of teaching Objective-C from the 'Objective' perspective and only introducing the 'C' side in small doses as necessary makes a lot of sense, technically, historically and pragmatically. I am pretty sure that one can disagree with this reasoning, but the idea is most certainly not at all *silly*.

[..]

False encouragement is worse than false modesty. Encouragement without honesty
is downright sadistic. You can't jump in to Cocoa with both feet if you don't
understand the basic programming syntax and concepts upon which it is built.
Many programmers with moderate programming skills have been overwhelmed by
Cocoa, someone without any programming knowledge can't help but be.

This turns out not to be the case.

Experience shows that relative novices have a much easier time with Objective-C/Cocoa/WebObjects than 'experts' in other areas, particularly in, er, lesser object oriented environments. The reason for this seems to be the old fact that unlearning things is magnitudes more difficult than learning things.

[more flamage deleted]

Regards,

Marcel


  • Follow-Ups:
    • Re: Learning Objective-C (Re: Jeff Lamarche: Public Enemy #1)
      • From: Michael Grant <email@hidden>
References: 
 >Re: Jeff Lamarche: Public Enemy #1 (From: email@hidden)

  • Prev by Date: Re: Handling Dragged Urls
  • Next by Date: Re: Start & Stop demon
  • Previous by thread: Re: Jeff Lamarche: Public Enemy #1
  • Next by thread: Re: Learning Objective-C (Re: Jeff Lamarche: Public Enemy #1)
  • Index(es):
    • Date
    • Thread