Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Programming in Objective-C 2.0 (2nd ed.)
Kochan S., Addison-Wesley Professional, Upper Saddle River, NJ, 2009. 624 pp. Type: Book (9780321566157)
Date Reviewed: Aug 24 2010

At Apple, where ongoing innovation is exceptionally well executed, software development for its highly respected and successful products--the iPod, iPhone, iPad, and iMac--is done on the Mac using Objective-C. This language is one of the factors credited with Apple’s ability to produce reliable and sophisticated products faster than nearly anyone else. Objective-C is currently enjoying a resurgence thanks to the commercial success of these products. Apple owns Objective-C, and they are still improving it, slowly and judiciously. This book covers version 2.0, the latest language upgrade.

Objective-C is a hybrid language: it adds a superset of Smalltalk-inspired object-oriented features on top of C, without modifying C at all. In this book, Kochan treats Objective-C as a unified language, allowing readers to learn the language in the manner they will use it, as a single unit, without being required to learn C first. To cover all bases, in chapter 13, “Underlying C Language Features,” Kochan presents those features of C--functions, structures, unions, arrays, and pointers--that may not be strictly necessary to writing object-oriented programs.

This is a very good introduction to Objective-C and object-oriented programming. I highly recommend it to those who want to learn Objective-C, regardless of prior programming experience. Experienced developers will appreciate the uncluttered, succinct style, the attention to detail, and the numerous coding examples. They will be able to cruise though the book pretty quickly. Of course, those already familiar with C can move even faster. Readers with limited or no programming experience will also appreciate the clear explanations and the coding examples; in addition, they will find it beneficial to work through the exercises given at the end of each chapter.

The coding examples deserve special mention. They are exceptionally well focused and clearly illustrate the concepts at hand. Most of them are shown as complete programs and include program output, and a review of the program behavior is usually given. All of this adds up to explanations that are unusually thorough and complete. On occasion, coding snippets are given when the benefit of a complete program would clearly be limited and not commensurate with the given space.

Kochan concentrates on presenting Objective-C and the Foundation framework. Apple’s Foundation framework defines functionality not covered by Objective-C. It provides a set of useful primitive object classes, Unicode support, object persistence and distribution, conventions for things such as deallocation, and a level of operating system (OS) independence and portability. After an introductory chapter, Part 1 (chapters 2 through 13) covers Objective-C, Part 2 (chapters 14 through 19) covers the Foundation framework, and Part 3 (chapters 20 and 21) gives a brief introduction to the Cocoa development environment and writing applications for the iPhone. The book ends with a glossary, a summary of Objective-C, the complete source code for an address book application introduced in the text, a list of resources, and an index. Although the index is extensive--18 pages--one or two important entries are missing; also, some entries do not show the place where a term is first encountered.

Although Kochan does not cover Objective-C exhaustively, readers will learn more than enough of the language and the Foundation framework to be productive. Any additional details they might need can be found online--the Mac OS X Reference Library (http://developer.apple.com/mac/library/navigation/index.html) is excellent, despite being voluminous and somewhat challenging to navigate.

Kochan shows how to compile programs on a Mac, using either Xcode or Apple Terminal. He claims in the beginning of the book:

We want you to understand the steps involved in keying in a program and compiling and running it. We give special attention to this process both under Windows and on a Macintosh computer.

However, no instructions are given for installing or using GNUstep, the multi-platform development environment.

I highly recommend this book for self-study, professional development, and corporate classroom instruction. That being said, I hesitate to recommend it as a computer science (CS) textbook. For the CS curriculum, other books, using other languages, do a better job of teaching programming.

Reviewer:  Edgar R. Chavez Review #: CR138318 (1106-0585)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Objective-C (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Objective-C": Date
Learn Objective-C for Java developers
Bucanek J., Apress, Berkeley, CA, 2009.  375, Type: Book (978-1-430223-69-6)
Jun 15 2010
Programming in Objective-C 2.0
Kochan S., Addison-Wesley Professional, Upper Saddle River, NJ, 2009.  624, Type: Book (9780321566157), Reviews: (2 of 2)
Jan 17 2011
Objective-C recipes: a problem-solution approach
Campbell M., Apress, Berkeley, CA, 2012.  460, Type: Book (978-1-430243-71-7)
Oct 15 2012
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