Programming Books C Java PHP Python Learn more Browse Programming Books
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Cocoa Programming for Mac OS X Paperback – December 3, 2001

ISBN-13: 078-5342726831 ISBN-10: 0201726831 Edition: 1st

9 New from $9.99 37 Used from $0.01 1 Collectible from $9.98
Amazon Price New from Used from
"Please retry"
$9.99 $0.01

There is a newer edition of this item:


Customers Who Viewed This Item Also Viewed


Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 416 pages
  • Publisher: Addison-Wesley Professional; 1st edition (December 3, 2001)
  • Language: English
  • ISBN-10: 0201726831
  • ISBN-13: 978-0201726831
  • Product Dimensions: 9.3 x 7.2 x 1 inches
  • Shipping Weight: 1.9 pounds
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (164 customer reviews)
  • Amazon Best Sellers Rank: #278,350 in Books (See Top 100 in Books)

Editorial Reviews Review

Suitable for anyone with a little C/C++ programming experience who wants to create software for the newest Mac platform, Cocoa Programming for Max OS X provides a slickly packaged and approachable tutorial that will get you started creating state-of-the-art Mac programs.

The smart presentation style and easy-to-understood code examples help make this text an excellent resource. (It also helps that Aaron Hillegass is a truly engaging writer.) He first explains how the legacy NeXTSTEP platform has evolved into Cocoa on the Mac OS X. Beginning with short examples illustrating the actual Cocoa tools in action, the author gets you started with simple programs for a random-number generator, a raise calculator, and other comprehensible examples. Rather than just listing APIs and classes, the emphasis is on hands-on Cocoa development. An early standout section provides a nice tour of essential Objective-C features you'll need to know to use Cocoa effectively.

This book covers the several dozen built-in Cocoa controls, from basic text and buttons to more advanced widgets (including lists and tables). Subsequent sections look at user interface design (using the Interface Builder to create nib files) and how to add programmatic processing behind the visual layout. Along the way, the author introduces coverage of essential Cocoa APIs for strings, arrays, and dictionaries. Later chapters look at saving and loading documents (and user defaults) and how to tap the powerful graphics abilities available in Cocoa. (Besides image and basic drawing, there are short sections on PDF support and printing.)

More advanced user interface features get their due by the end of the book, including cutting and pasting data through the Cocoa pasteboard and also adding drag-and-drop support. Final sections look at creating new controls for use with the Interface Builder palette, and, briefly, how to use Java with Cocoa (an option that the author doesn't necessarily recommend). Throughout this text, the author provides more advanced, challenging problems at the end of each chapter for the "more curious" reader. This approach keeps beginners from getting lost in the details of Cocoa development, but gives the more advanced reader something more to do.

While there are comparably fewer books on Mac OS X compared to other platforms, readers are lucky to have this one available. Anyone who wants to get onboard with Cocoa development will be well served by this title. It's a fine tutorial that earns high marks for its approachable, clear examples and an excellent presentation by an author who knows his stuff and, better yet, knows how to teach it to others. --Richard Dragan

Topics covered: Brief history of the Mac platform (from NeXTSTEP to Mac OS X), basic Cocoa development in Objective-C, using Project Builder and Interface Builder tools, tutorial to Objective-C (instances, variables, using classes, arrays and other containers, custom classes), the Objective-C debugger, basic Cocoa controls (building user interfaces), tables and data sources, event handling and delegates, archiving documents (encoding and decoding, saving and loading documents), Nib files, window panels, saving and retrieving user defaults (including using dictionary classes), notifications (observers and more on delegates), alert panels, localization (including string tables, a English and French example, the nibtool utility), custom views and drawing, drawing images and mouse events (plus coordinates systems and autoscrolling views), responders and keyboard events, fonts and strings (including attributed strings and PDF support), pasteboards and nil-targeted actions, using Objective-C categories (a code reuse feature), drag-and-drop support, timers, sheets and drawers, formatting strings, printing support, on-the-fly menu updating, text editing with text views, basic tutorial for using Java with Cocoa, and custom Interface Builder palettes (and inspectors).

From the Back Cover

The practical guide everyone says you need!

"The most comprehensive guide to developing Cocoa available. For the developer new to Cocoa, it provides an excellent introduction that will lead to success with the world's best object-oriented development tools. For those familiar with Cocoa, the excellent organization and presentation make the book invaluable as a reference tool."

--Bill Bumgarner, Cofounder, CodeFab

With the arrival of Mac OS X, Apple now has a modern operating system that calls for advanced programming capability. To take full advantage of the exciting and innovative features of OS X, Apple recommends a development framework known as Cocoa. Cocoa is a powerful collection of object-oriented tools and libraries that makes developing applications a much faster process. Mastery of Cocoa is absolutely essential for anyone doing serious development work for the Macintosh.

"Mac OS X and Cocoa are going to revolutionize the world of software development in the coming years... Aaron Hillegass's book is without a doubt the best aid to learning this technology."

--Erik J. Barzeski, Editor,

New technologies often have a steep learning curve and do not always come with complete instructions on how to get started or how to overcome common obstacles. Enter Cocoa(R) Programming for Mac(R) OS X, which shows you precisely how to put Cocoa to work.

"Reading this book is the absolute best way to learn how to harness the power of this amazing technology."

--Andrew Stone, President, Stone Design,

Guiding programmers through the key features of Cocoa, this book emphasizes design patterns that enable you to predict the behavior of classes you have never used before. Using a tutorial format, it takes you, step-by-step, through five applications and an InterfaceBuilder palette. Each project introduces several new ideas, and as each concept or technique is discussed, the author, drawing on his own extensive experience, shows you the advantages of working with Cocoa in object-oriented software development environments.


More About the Author

Aaron Hillegass worked at NeXT and then Apple before creating Big Nerd Ranch, a training and consulting company that specializes in Mac, iPhone, and Open Source technologies.

He lives in Atlanta, where Big Nerd Ranch teaches most of its classes. These classes have led to the creation of a series of books: The Big Nerd Ranch Guides. These books follow a consistent style that features a hands-on approach and a clear and conversational tone.

Customer Reviews

The book is well organized, very readable, and has good examples.
Dan Crevier
I would recommend this book to any programmer looking for a good introduction to the Cocoa frameworks.
I must say that this one is one of the best written technical books I've read in a while.
L. Romero

Most Helpful Customer Reviews

154 of 160 people found the following review helpful By HiRez on February 23, 2002
Format: Paperback
This was the book I had been waiting for, or at least ONE OF the books I had been waiting for, to really get started with Cocoa programming. The O'Reilly book, as has been mentioned plenty of times here, leaves a lot to be desired, and while it was better than nothing, a wall still remained between me and Cocoa after finishing it.
After reading Cocoa Programming for OS X, I feel I can say I "get" Cocoa finally. That's not to say I'm an expert, but that I can complete a simple program now, on my own, using the Cocoa frameworks and concepts. As Aaron says in the book, learing the Cocoa APIs will take much longer. I come from a Java background, with only marginal C and C++ experience. Although Aaron does not speak much about the objective-c language itself, that's ok. Apple's PDF is more than adequate to get that background.
There are some things that get glossed over that I wish had been more fully explained, and some things left out altogether that I would have liked to see, such as:
-- Spawning and managing multiple threads, thread safety issues

-- exception handling, debugging and assertions

-- Cocoa "primitive" objects (NSPoint, NSRect, NSRange, etc.), why they apparently don't need to be retained or released, and why they are "NS" objects but don't really behave like them.
-- Calling Toolbox routines or those from APIs that have not yet been "Cocoa-ized" (and integrating the Old Way into the Cocoa Way), with examples. Cocoa is nice but once you get away from building a text editor, you will need to dig into this ugly and unfriendly world at some point (unfortunately).
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
98 of 100 people found the following review helpful By Dan Crevier on February 4, 2002
Format: Paperback
First my background. I'm a very experienced C++ programmer who is also very experienced with Carbon.
I found this book to be a great intro to Cocoa without a lot of preaching about how Cocoa will change the world. Carbon vs. Cocoa seems to be an almost religous debate, and I'm glad this book didn't try to overpromise the benefits of Cocoa.
The book is well organized, very readable, and has good examples. It is *much* better than the O'Reilly "Learning Cocoa" book.
After reading this book, you'll be able to start writing applications in Cocoa, and you'll know where to go for more info.
Now, my nits:
* The book explicitly stated that it was for people with a C++ or java background, but I think there should have been more direct comparisions between C++/java and Objective C. For example, saying that class functions (the ones with +) are just like static functions in C++ would have helped.
* This may be an introductory book for people moving from other platforms to the Mac, but the UI for most of the applications violated Apple's UI guidelines in many ways. I think the book should have promoted following Apple's UI guidelines.
* There was no discussion of exceptions, and much of the code was not exception-safe and didn't do much error checking. There wasn't even the usual disclaimer about leaving that out for simplicity.
* I would have liked a quick overview at the end of some of the classes not discussed in the book with a couple of sentences about what they do. This would help to learn what's out there.
I hope to see more books on Cocoa by the author. There's still lots of room for books on more advanced Cocoa topics.
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
55 of 58 people found the following review helpful By charles on September 16, 2002
Format: Paperback Verified Purchase
First, I have to say I loved this book, I actually read half of it on a trip, not being in front of my computer, and still enjoyed the clear style and the gradual addition of new concepts and tools, chapter after chapter. Then I could hardly wait to be back home and start doing it for real.
Now for the potential buyer.
WHAT IT IS NOT: a reference book (no list of classes etc...) or a technical book for advanced programming; a book about Java or Carbon; an introduction to object-oriented programming; an introduction to C.
WHAT IT IS: an excellent introduction to programming in Objective C in the Cocoa environment of Max OS X, provided you know enough about
object-oriented programming (some basic understanding of C++ is preferable too).
WHAT YOU LEARN: Objective-C in Cocoa; using Apple Developer Tools; building an application in Mac OS X; how to make optimal use of Cocoa classes and API, knowing how they were conceived and meant to be used; a number of basic concepts and tips that really get you started.
THE PLUS that make this book so interesting: very good and clear writing; some amusing brief 'historical' insights; you really feel the author knows what he is talking about; the author gives personal views (clearly stated as advices, not rules); follow-up, errata, examples, comments, and more on his web site; still completely useable with OS X.2 (a couple or very minor changes that are listed on the web site anyway), so that's the good time to buy it (price is down, but content is still up to date).
Final comment: Objective C in Max OS X is very powerful and enjoyable.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
87 of 98 people found the following review helpful By R. Bryan Harrison on December 1, 2011
Format: Paperback Verified Purchase
I had high hopes for the 4th edition of this book. The authors clearly have considerable expertise, but the book isn't particularly well written and suffers from all the typical maladies of tech publishing: poorly organized, badly designed, full of errors, cheaply printed, and overpriced. Rather than improving on version 3, it's a slapdash edit thrown together merely to include changes Apple made to Xcode and the compiler in 2011. It reads like a promising middle draft of what might have been a terrific book.

In general, Big Nerd Ranch's books have the feel of something assembled from classroom materials. This is unfortunate - one suspects the classes are terrific, but a great book takes more than that and great teachers are not necessarily good writers. (And engineers almost never are.) In particular, there are far too many rabbits pulled out of way too many hats - "do this - wow!", "do that - kaboom!" - with insufficient background. Demos work great in the classroom where one can ask direct questions, but I'd prefer a book that takes a problem solving approach with clearly defined goals and equally explicit explanations of why certain approaches are superior to others.

The best parts of the book are "Curious" and "Challenge" sections at the end of each chapter, which require independent thought and adapting concepts and techniques to serve actual needs. Would that the whole book had taken that approach. The worst part is the graphic design - the procedural instructions laid out in running text are unnecessarily difficult to follow and the reduced low-resolution screen shots are often barely legible. (Where did publishers get the idea that 72 dpi screen shots are acceptable in a $30 book?
Read more ›
6 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews