A.2 Related Books

Fast on the heels of the release of Mac OS X 10.0, O'Reilly began publishing a series of books as part of its ADC series, a joint-publishing agreement between Apple and O'Reilly. The books published in the ADC series are aimed at Mac OS X developers. Included in this series are several excellent Cocoa books:

Cocoa Design Patterns

As more users "Switch" from Unix and Windows to the Mac, programmers need to stay ahead of the curve and develop their applications using Apple's Cocoa frameworks. This book illustrates the core design patterns of Cocoa programming, and transfers knowledge about the structure and rationale of Cocoasomething that isn't covered in any other book in print. The book explains the essential patterns of objects that are used in Cocoa, and describes problems solved by Cocoa and the consequences of each solution. At the time of this writing, this book is still in development, but should be released by O'Reilly & Associates in the summer of 2003.

Learning Cocoa with Objective-C

Now in its second edition, Learning Cocoa with Objective-C, by James Duncan Davidson, is a great first book for Cocoa beginners. It eases you into the experience of Cocoa development not merely by reading, but by doing. After introductions to Project Builder and Interface Builder, you'll quickly come up to speed on the concepts of object-oriented programming with Objective-C.

Objective-C Pocket Reference

This small book by Andrew M. Duncan provides a quick and concise introduction to Objective-C for programmers already familiar with either C or C++. In addition to covering the essentials of Objective-C syntax, it also covers important facets of the language such as memory management, the Objective-C runtime, dynamic loading, distributed objects, and exception handling.

Building Cocoa Applications: A Step-by-Step Guide

This book by Simson Garfinkle and Michael Mahoney walks the reader through four full-fledged Cocoa applications from start to finish. In the course of each application the reader is immersed in Cocoa techniques and Mac OS X as a development platform.

In addition to Cocoa, there are several more books published by O'Reilly that are worth mentioning:

Cocoa Programming for Mac OS X

This book by Aaron Hillegass is an example driven approach to learning Cocoa that is an excellent resource for the beginning Cocoa developer.

Cocoa Programming

If you've tapped out all of your current Cocoa resources, consider this book to take you to the next level. This 1,200-page tome by Scott Anguish, Erik M. Buck, and Don Yacktman covers many of the less-talked-about aspects of Cocoa, including such subjects as advanced optimization and debugging techniques.

Cocoa Recipes for Mac OS X: The Vermont Recipes

This book by Bill Cheeseman builds a Cocoa application from start to finish with a practical step-by-step approach. Each stage of the application development is explained in clear detail.

To become an effective Cocoa programmer a thorough understanding of the C language is a must. Additionally, knowledge of object-oriented programming principles is essential. To expand the minds of all developers, Cocoa and others alike, we heartily recommend having the following books nearby:

The C Programming Language

To be an effective Objective-C programmer, you need to know C. This book, written by the creators of the C programming language, Kernighan and Ritchiecommonly referred to as "K&R"is the definitive reference on the C language. Don't let the 1988 publication date deter you; this book is an essential.

Practical C Programming

Whenever anyone asks about books for learning C, Mike always recommends this book, which is the book he learned C from. This book covers everything that is in K&R, but from a different angle. Mike keeps both Practical C Programming and K&R close at hand.

Design Patterns

This is the book that codified what developers had known about object-oriented programming for many years prior to its publication. Design Patterns is hailed as a landmark book in the OOP community, and rightly so, as it defined a language for communicating ideas about OOP at a level more abstracts than level. Cocoa developers can take pride in the fact that NeXTSTEP (If you don't know the story yet, Cocoa is a direct descendent of NeXTSTEP) is cited repeatedly throughout the text for its use of design patterns.

    Part II: API Quick Reference