Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Learn Objective-C for Java developers
Bucanek J., Apress, Berkeley, CA, 2009. 375 pp. Type: Book (978-1-430223-69-6)
Date Reviewed: Jun 15 2010

The spectacular success of Apple’s iPod, iPhone, and iPad, plus the ongoing devotion of Mac users to their machines, has generated a great deal of interest in developing applications for these devices. The result has been a publishing renaissance of books about Objective-C and related technologies. This is gratifying to those who feel that this language has been undeservedly slighted in commercial and academic circles. Objective-C is a very interesting language: object-oriented, guided by the principle of latest possible binding, lithe, and agile, but also capable--through C--of reaching deep into the innards of the hardware, if needed. People who use it for a living love it.

As the title implies, the book is aimed at experienced Java programmers. Bucanek speaks with the authority of experience in both Java and Objective-C, regards both languages highly, and points out their similarities, differences, and respective advantages. The book clearly concentrates on the presentation of Objective-C; Java is brought in frequently to illustrate or clarify, but not excessively. Since the languages are at times quite different, Java programmers will benefit from these illustrations and explanations.

On the other hand, this is not a book for the novice. Object-oriented programming and other concepts are tackled without an introduction--a comfortable acquaintance with them is assumed. Bucanek goes to great lengths to explain Objective-C in depth, but more coding illustrations would help sharpen one’s vision and understanding of the topic. Most of the code included is fairly small and specific. More significant coding examples are given in two places: chapter 4, “Creating an Xcode Project,” guides the reader through the development of an application that accepts a set of letters and displays the words that can be spelled with them; additional detailed coding examples are included much later in the book, when dealing with programming patterns.

Although this is not mentioned in the introduction, Bucanek expects the reader to work on an Apple platform--“If you haven’t installed Apple’s Xcode development tools, do so now” (page 55). He does not mention the multi-platform Cocoa/OpenStep solution GNUstep at all.

The book is organized into four parts: Part 1, “Language,” covers the basics, messages, protocols, and categories; Part 2, “Translating Technologies,” deals with strings, garbage collection, introspection, files, serialization, inter-process communication, exceptions, and threads; Part 3, “Programming Patterns,” presents collection and delegation patterns, plus the provider/subscriber, observer, model-view-controller (MVC), lazy initialization, factory, and singleton patterns; and Part 4, “Advanced Objective-C,” explains memory management and coding C within Objective-C.

Experienced programmers who know what they want to build will find plenty of material to work with. Readers familiar with Smalltalk will have no trouble at all with this book. They may also find the Java counterpoint interesting and instructive. This is not so for those with C++, but without Java, experience. References to other sources are included in appropriate places in the text, but not gathered into a bibliography or list of external resources. The writing is clear, but is occasionally marred by sloppy editing: using “i.e.” instead of “e.g.,” or spelling “principal” sometimes correctly but sometimes as “principle.”

Apple’s documentation is excellent, but voluminous and challenging to navigate. This book is a good adjunct to it. Some of Apple’s newest refinements to the language are not covered: code blocks, 64-bit class and instance variable access control, and 64-bit nonfragile instance variables.

This is primarily a book for self-study. I would hesitate to recommend it as a textbook.

Reviewer:  Edgar R. Chavez Review #: CR138097 (1105-0469)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Objective-C (D.3.2 ... )
 
 
Java (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Objective-C": Date
Programming in Objective-C 2.0
Kochan S., Addison-Wesley Professional, Upper Saddle River, NJ, 2009.  624, Type: Book (9780321566157), Reviews: (1 of 2)
Aug 24 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