Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Beginning Mac OS X Snow Leopard programming
Trent M., McCormack D., Wiley Publishing, Indianapolis, IN, 2010. 651 pp. Type: Book (978-0-470577-52-3)
Date Reviewed: Aug 29 2011

This book is aimed at development on the desktop, specifically in the Snow Leopard environment (OS X 10.6). Now that Lion, OS X 10.7, has been recently released, the first question is whether the book is obsolete. The answer, in short, is, “Not yet.”

The problem that newcomers face is one of an abundance of riches: all of the information they need is available online, but it is simply too voluminous to wrap their heads around on their own. This book can be an initial guide until one feels comfortable enough to strike out on one’s own. Depending on the reader’s level of knowledge, he or she may also benefit, now or very soon, from acquiring other books that deal at greater depth with one or more tools of choice, such as Objective C, Xcode, or Cocoa.

Fourteen chapters, grouped into three parts--“Mac OS X Developer Resources,” “Application Programming,” and “Script Programming”--make up the book. Only beginners are likely to read this book consecutively from beginning to end. Readers who will benefit the most will have some programming experience with other platforms; experienced Mac developers may want to quickly review those areas that they are mostly unfamiliar with.

Along with a broad overview of the programming environment, the authors have chosen to present concise introductions to Unix and the Bash shell, and to several programming languages: C, Objective-C, and AppleScript. For good measure, they also include very brief overviews of Web-related areas of interest, such as JavaScript and Dashcode. They briefly discuss Carbon, a deprecated programming interface, but they do not cover it thoroughly in this book. Since the days of the earliest Mac, Apple has concentrated on providing tightly integrated personal computers with superior hardware performance and a state-of-the-art, intuitive graphical user interface. Despite some market share ups and downs, this undeviating philosophy has generated an extremely loyal and growing customer base whose level of satisfaction ranges from very satisfied to fanatical. It is undeniable that current Macs offer an unparalleled level of ease of use and reliability; the consistency of the user experience across all applications that adhere to the Apple Human Interface Guidelines is an added plus that goes almost unnoticed by anyone other than newcomers. And Apple has recently led in innovation of portable devices with products such as the iPod, the iPhone, and the iPad, all of which have generated a great deal of interest in software development for all Apple products.

The Apple software development environment has always been under constant evolution and improvement. This is a very large field; although Apple has chosen products of limited outside interest for its internal development (Objective-C and AppleScript come immediately to mind), it has also supported a wide range of tools for its users. The emphasis has been more on providing an excellent support environment than on promoting specific tools or languages. If you like a popular programming language, for example, you can almost certainly use it on a Mac, and enjoy excellent support for it. The challenge for newcomers is to learn the multiple environments and the numerous frameworks and guidelines that Apple provides. Also, Apple has always been generous in sharing the information that developers need; currently, this information centers on the Apple Developer Network (http://developer.apple.com/). From here, developers can choose one of three paths: development for iOS, the operating system for portable devices; development for Mac OS X, the operating system for desktop devices; or development for Safari and the World Wide Web.

This is very much a book to be read in conjunction with using a computer. Readers have many opportunities to try things out. They can download sample code, although my strong recommendation is that they type things out themselves, and allow their fingers and the part of the brain that controls movement to be involved in the learning process. Examples vary from small pieces of standalone code to examples that build on previous examples, culminating in a Slide Master application, which is an image browser that one can use to create slide shows.

Since the Apple development environment is always evolving, readers will inevitably see differences between some of the screens shown in the book and, more importantly, between some step-by-step instructions in the do-it-yourself format that the authors use, and what one can actually do on the computer. In my opinion, readers should treat this more as an opportunity to explore newer features than as a source of frustration.

If you want to program for OS X, and would like to learn what options you have, I recommend this book. It is better suited for the professional programmer than for the student.

Reviewer:  Edgar R. Chavez Review #: CR139408 (1203-0237)
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
Macintosh OS (D.4.0 ... )
 
 
Logic Programming (D.1.6 )
 
 
The Computer Industry (K.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Macintosh OS": Date
Cocoa programming for Mac OS X
Hillegass A., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2002.  383, Type: Book (9780201726831)
Aug 7 2002
Mac OS X for Unix geeks
Jepson B., Rothman E., O’Reilly & Associates, Inc., Sebastopol, CA, 2002.  224, Type: Book (9780596003562)
Mar 21 2003
MAC OS X hints: a dependence-based approach
Griffiths R., O’Reilly & Associates, Inc., Sebastopol, CA, 2003.  400, Type: Book (9780596004514), Reviews: (1 of 2)
Jun 16 2003
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy