• 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
Re: Learning Mac programming
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

  • Follow-Ups:
    • Re: Learning Mac programming
      • From: email@hidden
References: 
 >Learning Mac programming (From: David Thorp <email@hidden>)

  • Prev by Date: Fw: Dialog disposing problem in Mac OS Ver 10.2.6
  • Next by Date: Re: Open source version of cocoa
  • Previous by thread: Learning Mac programming
  • Next by thread: Re: Learning Mac programming
  • Index(es):
    • Date
    • Thread