I'm looking to try and self teach myself the basics of Cocoa then get into some minor Mac App developing but what is the difference between Cocoa & Xcode? Should I be trying to learn the basics of Cocoa or Xcode or is it technicly the same thing.

Just looking to get my feet in the water to at least start reading up on the basics.

Cocoa is the library of code you use to write applications. Cocoa usually refers to user interface code, such as windows and menu bars, but it also refers to code that lets you work with various data types, such as arrays.

To put it another way, Xcode is an app that lets you write Cocoa, but Xcode also lets you write code for other frameworks, using other languages. Likewise, Cocoa doesn't have to be written with Xcode; it can be written in any text editor. However, due to many conveniences, you'll typically find most people writing Cocoa Apps using Xcode and Interface Builder.

You'll definitely want to learn Xcode and Interface Builder, but these are typically taught as you need them in most tutorials on Cocoa. When you're first starting out, you'll probably be using a text editor and the terminal. Take a look at the guides section at the top of the programming forum for some helpful references as well as doing a search for learning to program Cocoa. There's a lot of really helpful information available on this site for beginners.

In addition to the reply above that answers your query very well, just a thought on the book you may choose. I found Cocoa Programming for Mac OS X by Aaron Hillegass excellent. If you go for this, make sure it's the third edition you buy as the first two releases of this book are now seriously out of date.