Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Recommendations for a beginner

Recommendations for a beginner
Thread Tools
Carbine18
Fresh-Faced Recruit
Join Date: Jun 2006
Status: Offline
Reply With Quote
Nov 5, 2006, 10:44 PM
 
Hello all,

I am wanting to begin programming for OS X pretty soon and was wondering what you would all recommend reading, learning, etc.

I am also wondering what language would be good to learn as I have almost no clue. I have heard that Objective-C is preferred and that Objective C 2.0 is going to be nice as well. I have heard C++ and Java thrown around a bit too so I would be interested in hearing about them as well. I also don't know much about frameworks, Cocoa and Carbon in particular, so I would like to hear what people have to say about that as well.

Thanks, I am looking forward to you responses.

My current experience btw is just web programming (ruby/rails, PHP) and some C++(very little)
     
Catfish_Man
Mac Elite
Join Date: Aug 2001
Status: Offline
Reply With Quote
Nov 5, 2006, 11:46 PM
 
Objective-C with Cocoa is definitely the preferred way to get into programming on OSX. Nothing wrong with Carbon, but it's nowhere near as friendly. The two books recommended at this page are excellent.
     
smitty825
Forum Regular
Join Date: Sep 2003
Location: San Diego
Status: Offline
Reply With Quote
Nov 6, 2006, 02:09 AM
 
Originally Posted by Carbine18 View Post
Hello all,

I am wanting to begin programming for OS X pretty soon and was wondering what you would all recommend reading, learning, etc.

I am also wondering what language would be good to learn as I have almost no clue. I have heard that Objective-C is preferred and that Objective C 2.0 is going to be nice as well. I have heard C++ and Java thrown around a bit too so I would be interested in hearing about them as well. I also don't know much about frameworks, Cocoa and Carbon in particular, so I would like to hear what people have to say about that as well.

Thanks, I am looking forward to you responses.

My current experience btw is just web programming (ruby/rails, PHP) and some C++(very little)
This is probably the most common question asked on this forum, so feel free to dig around and see lots more answers. (hmmm...maybe we can make one of these topics as sticky...)

Obj-C is one of the more preferred languages for X development. It is the most "native" interface to the Cocoa framework, which tends to feel the most "native" from a users perspective. Obj-C 2.0 will be released in 10.5, and it will feature automatic memory management, which will be nice for a new obj-c programmer...

If you choose to go the C++ route, you can draw native interfaces with the Carbon framework. (Carbon is an improved version of the original Mac OS Framework). There are several well written apps using this framework, and some people claim that Carbon based interfaces "feel" faster.

Java gives you two options. One is to use a 100% native Java solution. The interface won't look 100% Mac-like, but it will run on most Java based platforms without recompiling anything. You also have the option of accessing the Cocoa framework from within Java, but that API is being depreciated in 10.5

If you want to take advantage of the Ruby knowledge you already have, you can use the Cocoa/Ruby Bridge (or if you want to use Python, you can use a Python/Cocoa Bridge
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Nov 6, 2006, 02:20 AM
 
If you like Ruby, try Cocoa. Both Ruby and Objective-C are the children of Smalltalk (Ruby by way of Perl, Objective-C by way of C), so there is a fairly strong link between the languages' general philosophies.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
SirCastor
Professional Poster
Join Date: Jan 2001
Location: Salt Lake City, UT USA
Status: Offline
Reply With Quote
Nov 6, 2006, 05:06 PM
 
I'm in the same boat (I don't really do rails though, just PHP). Thanks for the tips!
2008 iMac 3.06 Ghz, 2GB Memory, GeForce 8800, 500GB HD, SuperDrive
8gb iPhone on Tmobile
     
TheoCryst
Mac Elite
Join Date: Nov 2005
Location: Seattle, WA, USA
Status: Offline
Reply With Quote
Nov 8, 2006, 01:43 PM
 
I just picked up Hillegass's book, and I must say that I'm very very pleased. He recommends some knowledge of Java and C, as he barely touches on Obj-C. If you aren't familiar with any of these languages, I'd also suggest the Stephen Kochan book (both from Catfish_Man's linky). I'm only a few chapters into the Cocoa book, and I've already written three different programs (two w/ GUIs, and one commandline-based).

Any ramblings are entirely my own, and do not represent those of my employers, coworkers, friends, or species
     
CheesePuff
Professional Poster
Join Date: Jan 2002
Location: Rochester, NY
Status: Offline
Reply With Quote
Nov 9, 2006, 12:57 PM
 
I just picked up Programming with Objective-C and the Cocoa Programming for Mac OS X books at Buy.com for $40 shipped.

The nice thing about the Programming with Objective-C book is that it requires to prior knowledge of programming or C, were most other books do.
     
SirCastor
Professional Poster
Join Date: Jan 2001
Location: Salt Lake City, UT USA
Status: Offline
Reply With Quote
Nov 9, 2006, 02:07 PM
 
BTW, I found this wikibook online. I started it last night:
Programming Mac OS X with Cocoa for beginners - Wikibooks, collection of open-content textbooks

I don't know how to gauge good or bad because I have no experience, but it was plainly stated, and easy to follow.
2008 iMac 3.06 Ghz, 2GB Memory, GeForce 8800, 500GB HD, SuperDrive
8gb iPhone on Tmobile
     
Carbine18  (op)
Fresh-Faced Recruit
Join Date: Jun 2006
Status: Offline
Reply With Quote
Jan 5, 2007, 01:19 AM
 
sorry to bring back a dead topic, but would it be worth it to wait a while until objective-c 2.0 and xcode 3 books come out? any idea when to expect them?
     
Catfish_Man
Mac Elite
Join Date: Aug 2001
Status: Offline
Reply With Quote
Jan 5, 2007, 01:24 AM
 
API changes in Leopard are a much bigger deal to learn. Core Animation will probably take a hundred times longer to get comfortable with than ObjC2 will.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Jan 5, 2007, 03:16 AM
 
Originally Posted by Carbine18 View Post
sorry to bring back a dead topic, but would it be worth it to wait a while until objective-c 2.0 and xcode 3 books come out? any idea when to expect them?
No idea when to expect them, and I don't think it's worth the wait. The changes aren't that drastic — the basic style and philosophy remains the same, just with a few new features.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
nerd
Senior User
Join Date: Jun 2002
Location: Albuquerque, NM
Status: Offline
Reply With Quote
Jan 16, 2007, 11:30 AM
 
I've just finished Programming in Objective-C and can say you won't waste your time getting this book. The book deals with Object-C and the Foundation framework. Plus I'm glad I've learned about memory management even if I don't %100 understand it all.

I'm now reading the 1st rev of Learning Cocoa which was printed in May 2001 and I'm still learning things from it. With that said I would buy your book now and get started.
     
KEL9000
Fresh-Faced Recruit
Join Date: May 2003
Status: Offline
Reply With Quote
Jan 16, 2007, 05:32 PM
 
maybe it would be a good idea to make this a sticky or faq? it seems to be asked weekly.
I am now going to tell the computer what he can do with a life-times supply of chocolate.
     
arcticmac
Dedicated MacNNer
Join Date: Apr 2004
Status: Offline
Reply With Quote
Jan 26, 2007, 06:51 PM
 
I recommend a short, simple book (i used learning cocoa in objective c) that won't set you back too much in money, but will get you into how it all works, and help explain what's up and down and all that. After that, apple's documentation and other online resources (macdevcenter.com, cocoadevcentral.com, etc) are your best friends. I found, however, that the core concepts tended to be poorly explained in the online stuff, so it was good to have a book that explained the basics of the language, and got me started on memory management. From there, it's just been a learning along the way thing.
     
arthill
Fresh-Faced Recruit
Join Date: Jul 2005
Status: Offline
Reply With Quote
Jan 31, 2007, 05:42 PM
 
Originally Posted by Carbine18 View Post
sorry to bring back a dead topic, but would it be worth it to wait a while until objective-c 2.0 and xcode 3 books come out? any idea when to expect them?
I read an interview with Aaron Hillegass recently where he mentioned that he's writing a third edition of his book to include Leopard. But he said not to expect it before Fall.
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 01:55 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,