To really learn to program, you'll have to figure out a lot of it yourself.
Books are pointless. They're often poorly done, out of date by the time they're published, and (IMO) are written by people to make a quick buck.
The best way to learn will be all the FREE resources, such as this forum. That and starting simple and writing your own programs. Start out writing Hello World (just about the simplest possible program in any language), and go from there.
I learned BASIC eons ago simply by reading the Reference Manual and experimenting. From there I moved onto C, then to HTML, JavaScript, ColdFusion, Java, etc. Now I'm back into C/Objective-C trying to get a grip on the goofy syntax.
Here's Hello World in C:
Code:
int main() {
printf("Hello World!");
return 0;
}
That's it. But since the Mac is a fairly elaborate environment (which is a good thing too), it helps to learn how to use XCode too.
Just yesterday I purchased a deal (I don't remember if it was from MacUpdate or Cult of Mac), but it's a C course and an Objective-C course, for $79. It has a 30-day MBG so if it ultimately isn't good, I'll ask for a refund. But it gives you a good intro to C first, and then goes into Obj-C. I'm almost done with the C part... it's been a nice refresher, since the last time I used C was 1985... but if you know JavaScript, most of C will look pretty familiar.
When I find more time, I'll dive into Rails and Python. I already know some Ruby and like it for the most part; I just never quite got a grasp on Rails. I already do a lot of MVC stuff in ColdFusion using various OO frameworks, so at least that's familiar. That'll be something else you'll need to deal with eventually -- MVC. Model/View/Controller. Don't let it intimidate you. When I was first introduced to it, I was like, WTF, this is stupid. But after really getting into it, the WTF turned into FTW. For large apps it makes a heck of a lot of sense and will make your life easier.
There's a free iOS course on iTunes-U from Stanford. BUT, it dives right into it pretty hard-core, so if you don't know C yet, it will confuse you. Still, it's worth getting.
One more thing.. check out phonegap.com. It's a framework for writing mobile apps that will work on iOS, Android, and most others. It uses HTML5 and JavaScript. Plus you can use the jQuery-Mobile framework with it, which makes things even easier.
I hope this helps and I wasn't rambling too much.
Rob