Where to begin?

bjurusik

Registered
I would really like to learn how to develop programs for Mac, but I have no idea how to begin. I was a first year engineering major last year, but second semester I decided to take a CS class. The class was about learning Java, which I picked up on rather easily. I would say I have an intermediate knowledge of the language. This summer I decide to learn C++, so I picked up C++ for Dummies. I'm only about 100 pages into it and am pretty lost. So then I decided to pick up Learning Carbon by O'Reilly. Got through a couple of chapters, but then again I got lost in the code. So then I decided to download the Cocoa Help from PB/IB. I start reading about object oriented programming and methods ... all which are making sense to me from taking the course in Java. Well to get to the point, I would just like some recommendations on which books are good for learning Cocoa or Carbon. Which language should I learn if I soley want to develop OSX applications. Do I need to learn all new syntax, or is Java and Objective C closely related. Also, what is the diiference between C, C++, and Objective C? Are some event oriented and the others object oriented? Any help would be greatly appreciated.
 
If you want to program for OS X only, Cocoa is the only way to go. Carbon was made to make the transition from 9 to X easier, but apart from that really shouldn't be used for new apps from scratch. Also, try to forget about java, if you want to write native OS X, use a native compiled language.

As to books for Cocoa, OReilly has two very good ones, Learning Cocoa, and Building Cocoa Applications. Learning Cocoa is more of an entry level book then the later. As to the differencest between C, C++, and Objective-C, there are many with way to many details to go into. But, both C++ and Objective-C accept standard ANSI C code, so having a good C foundation is a very good start.

If you really haven't done much programming, I'd highly suggest taking an intro to C programming class. If you don't have the time, can't afford a class, get Oreilly's Practical C Programming and learn the basics of C. Once you have a good understanding of C, then I suggest picking up something that is OO based (ie. Cocoa).

C really gives you one of the best programming foundations possible, and it transfers to just about every other modern programming language pretty easily. You'll be very suprised at how many other languages look like C, feel like C, and use function calls exactly like C does. You'll thank yourself for years.

Brian
 
I'll definitely pick up up those books you suggested. I looked around for Learning Cocoa, but no stores had it. Sometimes it's so confusing learning programming languages. Before, I thought C was an outdated language and C++ was it's reincarnation. But after a some reading I see that that is not the case. Just one more question. Is my knowledge of Java's object orientated programming going to help me with Cocoa? For example, in the Cocoa Help documentation it's like, "For those of you who can't get out of the event driven programming state of mind, you have to think of real objects ... state and behavior, etc ..." I totally understand OOP. Classes, instances, objects, instance variables, methods, etc. All of that knowledge will make learning Cocoa a little easier won't it? I guess my problem is just the other way around, grasping event driven programming. It seems to me though, that the two should be interwoven. I mean, you can create instances of classes, for example a bank object, which would be OOP. But then when you click the "Create New Account" button an event occurs, which would be EDP. Well, I'm just babbling now. :) Anyway, thanks for the reply and references.
 
I have the Learning Cocoa and Learning Carbon books. I am an advanced programmer with C, C++, Java, NeXTStep/OpenStep, etc. experience, and found both books to be only moderately helpful. "Cocoa Programming for Mac OS X" by Aaron Hillegass to be much better written and far more understandable. The concepts presented in the book are explained well, and build on a logical foundation, leading the reader to a good understanding of the Frameworks used in Cocoa. Even more importantly, the book provides the reader with the skills needed to understand the Foundation classes and their use from Apple's documentation.
 
How is the "Building Cocoa Applications" book from O'Reilly? I don't want something too basic. I already know how to program and picking up a new language isn't hard for me. I got the gist of Obj-C just from the pdf on Apple's site. What I'm more interested in is practical knowledge of the OSX APIs.

Also, I've never haven't really written gui apps before, so I might need a primer. I was on windows until just recently and VC++ seemed like an absolute waste of time that could be better spent with unix. Now that I've got my shiny new iBook though, I'm actually excited about a writing for a GUI! What a concept! :)

So... suggestions? O'Reilly? Good?

(Cheap is also a plus! 40 bucks seems kind of steep to me these days, thanks to the aformetioned shiny new iBook :) )
 
Back
Top