HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Cocoa Programming for Mac OS X (3rd Edition)

Aaron Hillegass · 10 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Cocoa Programming for Mac OS X (3rd Edition)" by Aaron Hillegass.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
The best-selling introduction to Cocoa, once again updated to cover the latest Mac programming technologies, and still enthusiastically recommended by experienced Mac OS X developers. “Aaron’s book is the gold standard for Mac OS X programming books—beautifully written, and thoughtfully sculpted. The best book on Leopard development.” —Scott Stevenson, www.theocacao.com “This is the first book I’d recommend for anyone wanting to learn Cocoa from scratch. Aaron’s one of the few (perhaps only) full-time professional Cocoa instructors, and his teaching experience shows in the book.” —Tim Burks, software developer and creator of the Nu programming language, www.programming.nu “If you’re a UNIX or Windows developer who picked up a Mac OS X machine recently in hopes of developing new apps or porting your apps to Mac users, this book should be strongly considered as one of your essential reference and training tomes.” —Kevin H. Spencer, Apple Certified Technical Coordinator If you’re developing applications for Mac OS X, Cocoa® Programming for Mac® OS X, Third Edition, is the book you’ve been waiting to get your hands on. If you’re new to the Mac environment, it’s probably the book you’ve been told to read first. Covering the bulk of what you need to know to develop full-featured applications for OS X, written in an engaging tutorial style, and thoroughly class-tested to assure clarity and accuracy, it is an invaluable resource for any Mac programmer. Specifically, Aaron Hillegass introduces the three most commonly used Mac developer tools: Xcode, Interface Builder, and Instruments. He also covers the Objective-C language and the major design patterns of Cocoa. Aaron illustrates his explanations with exemplary code, written in the idioms of the Cocoa community, to show you how Mac programs should be written. After reading this book, you will know enough to understand and utilize Apple’s online documentation for your own unique needs. And you will know enough to write your own stylish code. Updated for Mac OS X 10.4 and 10.5, this revised edition includes coverage of Xcode 3, Objective-C 2, Core Data, the garbage collector, and CoreAnimation.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
I've heard this is a really good introduction book, http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Gu...

Having read their Cocoa programming for OS X book (http://www.amazon.com/Cocoa-Programming-Mac-3rd-Edition/dp/0...), I can wholeheartedly recommend their books.

'Become an XCoder' free eBook that is a fairly basic introduction to Objective-C and Cocoa programming.

'From C++ to Objective-C' is also good eBook. http://pierre.chachatelier.fr/programmation/fichiers/cpp-obj...

I also bought 'Cocoa Programming for Mac OS X' http://www.amazon.com/Cocoa-Programming-Mac-3rd-Edition/dp/0...

Cocoa is quite different than anything I had programmed before. Once I wrapped my head around nibs, IBOutlets and IBActions it was fairly easy. Once I got going, the apple developer docs were all I needed, but learning I found easier to do from a book than the docs.

For iOS, MacRuby is unfortunately not an option, as it would require garbage collection. However, for writing OS X software, MacRuby works great (we just shipped an app with it in the App Store - http://briquetteapp.com - and it has definitely been a joy to work with).

Unfortunately, it doesn't really make the learning curve any less intense. While Objective-C's syntax and style are somewhat difficult, the real challenge to Mac/iOS programming is having a working knowledge of the Cocoa API. MacRuby simply acts as a bridge between Ruby and Cocoa, meaning you need to know exactly the same amount about API methods no matter the programming language you choose.

Reading the currently available MacRuby book is a great idea - http://ofps.oreilly.com/titles/9781449380373/. If you find yourself confused by the concepts, you should try learning Objective-C and Cocoa first (I learned with http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/032150...). It is certainly possible to dive in with MacRuby! Just remember that it's not 1.0 yet, and could present technical difficulties in unexpected ways. Otherwise, it's super fun!

jmonegro
Thanks for your response! Briquette looks great :)

All things considered, it seems like MacRuby might make it's way onto iOS in the future (http://iflipbits.com/post/1101983568/macruby-soon-on-ios, although that's 8 months old, so I'm not really counting on it for now).

Yes, I figured that out after researching enough about obj-c, cocoa, and macruby. That's why I wondered if learning MacRuby first would ease me into the process by taking away a layer of difficulty (obj-c). Then after I get the hang of it, I could transition to objective-c, maybe through one of PeepCode's screencasts, "Objective-C for Rubyists".

ddagradi
It's definitely possible to start with MacRuby. It just requires a little more overhead to translate Cocoa documentation into methods that work with MacRuby (not to mention the occasional one that doesn't work right...).

As a Rubyist, there's definitely some differences (named parameters, for instance), but you get the hang of it pretty quick. As a Cocoa developer, debugging with MacRuby has issues, as Xcode doesn't always know about the right symbols since it's not compiled (but this is getting better!).

Use the MacRuby book, and learn to love Xcode's documentation, and you should be good to go. If you do have issues, email the macruby-devel mailing list or visit #macruby - the community is super friendly and happy to help!

re iOS: I'm really hoping. With MacRuby shipping by default with Lion, iOS 5 will hopefully follow suit this summer.

jmonegro
With what you know, would you recommend I skip MacRuby and jump straight into obj-c/cocoa?
ddagradi
I would. MacRuby adds to the experience once you already know what you're doing. As an introduction to Cocoa, it adds a lot of difficulty too.
I started out developing for the Mac with "The Objective-C Programming Language" but found it clumsy and kind of dense. In my opinion "Cocoa Programming for Mac OS X" by Aaron Hillegass (http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/032150...) is much better in the way it introduces concepts, and flows from chapter to chapter. Well worth the investment if you're serious about developing for the Mac.
torpor
I took the same route, and recently picked up Hillegass' book again after 3 years iOS development .. and have been pleasantly surprised just how relevant it has become. I've really enjoyed Objective-C development lately, I only wish it'd be useful on non-Apple platforms. And now having had some experience, I'm amazed at the utility of "Cocoa Programming for Mac OSX" even though mine is the first edition ..

Can not recommend it highly enough!

nonrecursive
I found that Aaron Hillegass's book was decent enough as a tutorial, but halfway through it left me feeling like it raised too many questions without answering them. I was making toy apps but I didn't know what the hell was going on. Just my two cents.
_Cocoa Programming for Mac OS X_[1] by Aaron Hillegass is really great. It's not an iPhone book, but there's enough similarity that it'd still be a really valuable read.

[1] http://www.amazon.com/Cocoa-Programming-Mac-COCOA-PROGRAMMIN...

As far as I can tell (as an amateur mac developer), the major advantage Objective-C has on the mac over other platforms is the extensive support that Cocoa [1], Apple's giant grouping of APIs/Frameworks/etc, lends. It's so helpful, in fact, that many Mac developers refer to programming in Objective-C as "Cocoa Programming" (also, it's the title of the best programming book I've ever read [2]).

[1]http://developer.apple.com/cocoa/

[2]http://www.amazon.com/gp/product/0321503619

10ren
Sounds like it's branded/positioned as "Cocoa"... and possibly support is lacking on other platforms (I guess you mean libraries - they're crucial for language success).
dschobel
more so in objective-c which is really a simple language.

the framework is everything.

I first tried to learn mac development a year ago by going through http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/032150... . I did the examples in the book, so I was getting my hands dirty somewhat, but as I went through the book I got more and more confused. There were too many questions I had that the book didn't answer, nor did Apple's online documentation.

Part of the problem was that I didn't know C at all. Recently I decided to have another go at it, so I read the first chapter of K&R and did all the exercises, then read a few of the other chapters (2, 5, and 6 I believe). After that, I read this book: http://www.apress.com/book/view/1430218150 . "Learn Objective-C on the Mac" has been great - it's readable, good-humored, succinct, and comprehensive. It's answered all the remaining questions I still had about ObjC and I finally feel like I get the language.

Jan 13, 2009 · nickb on Failure
BTW, Aaron's the author of one of the finest books on programming, programming Cocoa/Mac in Objective-C specifically: http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/032150...

If you've ever wanted to write that little iPhone app, pick up his book and you'll be a pro in few months.

Objective-C 2.0 introduced garbage collection and "properties", as well as a new enumeration syntax.

The best beginning Cocoa book is "Cocoa Programming for Mac OS X", found here: http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdran...

It's a great book, and a huge number of mac developers got started with it. The new version (which has Obj-C 2.0, Leopard, and other updates) just came out a few weeks ago.

HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.