Reference/Tutorial for ObjC programming?

Discussion and announcements regarding the Mac port… er, original version of Oolite.

Moderators: winston, another_commander

Post Reply
User avatar
SgtSchultz
Above Average
Above Average
Posts: 28
Joined: Sun Sep 18, 2005 7:52 am
Location: Left Coast, USA
Contact:

Reference/Tutorial for ObjC programming?

Post by SgtSchultz »

I was wondering if those here who have had some experience writing software in Objective-C would care to recommend any particular references, books, websites or similar material for one new to ObjC to learn the ins and outs of the language and in particular the usage of the NextStep/GNUStep class library.

I myself am a experienced "C" programmer and have done some work with C++ and have tinkered a bit with ObjC on the Mac (I have a PPC Mac Mini, a linux box, and several windoz PCs). I have at least a beginner's level grasp of ObjC syntax and conventions and a bit of knowledge of the simplest NSxxx classes (e.g. NSNumber, NSDictionary). Obviously, this sort of limited experience won't do me much good with a complex app like OOlite, so I'm looking to expand my knowledge.

I presume that since OOlite is a cross-platform app, it does not rely heavily on the OSX-specific Cocoa extensions, other than the minimum necessary to get the app to run in OSX. Is this a correct assumption?

Given that most of my experience in development has been with "embedded" applications (firmware that runs on and operates electronic devices, rather than apps that run on a traditonal computing platform) I do not have much experience using rendering systems such as OpenGL so any recommendations for a noob on this subject would also be welcome.

[Edit] I should mention that I'm not asking for OOlite build instructions; I can get that from the Wiki - I'll ask specific questions on that subject later should it become necessary. Also, I already have the XCode tools installed on my mac (albeit not the latest version, most likely) and I know where to get the updates.
In an ally, considerations of house, clan, planet, race are insignificant besides two prime questions, which are:
1. Can he shoot?
2. Will he aim at your enemy?
- Cantra yos'Phelium
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6680
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Well, I can certainly not say that I have deep knowledge of ObjC, but I found these documents very helpful to get started with it:
http://terrastorage.ath.cx/Marmagka/fgc ... 1/ObjC.pdf and http://terrastorage.ath.cx/Marmagka/opz ... vCBook.pdf

Hope this helps, just be aware that the links above will be valid for 15 days only.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

“Cocoa Programming for Mac OS X” by Aaron Hillegass is generally considered the definitive Cocoa book. I haven’t read it, but everyone who has seems to love it. Of course, it focuses primarily on high-level UI coding in AppKit, of which there is little in Oolite, but it should cover Foundation (the lower-level part) as well.

Personally, I found Apple’s online documentation, particularly The Objective-C Programming Language and the Cocoa Fundamentals documents to be sufficient.

Since the GNUstep project has an explicit policy of attempting to track Mac OS X/Cocoa, thinking in terms of “OS X–specific Cocoa extensions” is probably not very helpful. The GNUstep people also point to Apple for documentation.
User avatar
Wiggy
Deadly
Deadly
Posts: 222
Joined: Fri Jan 21, 2005 1:12 pm
Location: London, Engerland

Post by Wiggy »

I can confirm the Hillegass book is excellent - once I'd got my head round a couple of things.
I came from a Pascal/BASIC/Assembler background, and the mindset took a bit of getting used to. But the book is thorough in what it details, and it does then show you how to get the most from the Apple documentation too, so what the book doesn't cover, you can extrapolate using the Apple docs.
You came in that? You're braver than I thought!
Post Reply