This may sound horrid, but, for me at least, the easiest way to learn 'programming' ( god that's a generic term ) was actually through the following:
C++ and stdio.h for basics.
Learn how to declare variables, and accept user input, as well as basic functions and, if you're feeling bored, classes.
ASP or ColdFusion ( Not PHP!)
Either one of these languages, while PC centric, will, over time, got your brain, at least a little, around Objects. Amazingly enough, for low-end needs, ASP is an excellent language, especially for newbies. ColdFusion is by far the easiest thing in the world to learn, however, for insanely complex custom classes and objects, can leave your feeling hi-and-dry.
AppleScript
Simple put, a marvelous language. Begin with Bill Briggs tutorials on MacCentral, and go nuts making your Mac programs do strange things. While yes, AppleScript is primarly procedural, I found in gave me insight into how the Macintosh handles very basic elements, such as graphics, and text, as well as priorities. I'd recommend futzing with FileMaker Pro.
Java
Woo-HOO! After your brief tutorial in C++, basic java applications, read no Swing, will be a breeze. Once you start building applets, using swing ( no JBuilder! ), yuo'll find Java is a marvelous language, even though some things are amazingly tedious.
Objective-C
Read apple's objective C guide, and just try futzing with the Foundation toolkit. The more you learn about objects in C, the better off you are.
Cocoa
Finely the holy land. Hopefully, you should now feel right at home withe concept of objects, as well as basic syntax, and what a language is capable of.
Again, this is just how I have gone about over the last year, and I can succesfully say, it works wonders.
Or...you could be cheap, and just learn REALBasic.
The language capable of everything, that no one uses for anything.