35 of 37 people found the following review helpful
on July 9, 2012
First of all, let me say that if your goal is the same as mine, to learn how to make iPhone apps starting from scratch, this review will help you decide whether or not this book is for you. I would like to point out that prior to reading this book, the only programming knowledge I had was C (only basic ideas - no actual programs were made). I had no other prior programming experience.
After reading this book, did I know how to use text input boxes, make an alert display on the screen, or create a simple app that moved from one page to another? Unfortunately, no. This book focuses mainly with major ideas and concepts of the Objective-C language. That is, how the language is structured, some major and commonly used methods (or functions in other languages), and general tips while making an app. The book finally begins teaching how to actually make an iPhone app (containing buttons and a user interface) in the last chapter. Even so, the last chapter only teaches you to make a simple "Fraction Calculator" app with only some buttons and a text area to display the result. Because of this, don't expect to know how to make even the simplest of apps after reading the book. This book only gets your feet wet.
You should get this book if:
- you are starting to learn the basics of Objective C
- you learn well with step by step instructions along with explanations of the instructions/code
- you like the idea of chapter examples/problems that force you to figure things out on your own and do external research
- you like the idea that this book provides an online forum dedicated to this specific edition of book (including previous editions), where you can ask questions
- to know how to turn your ideas into working apps after reading this book
- that this is the only book you need
- that this book will be a quick and simple read (unless you pick up code easily)
- to be able to learn everything in the book by skimming or skipping sections
----------UPDATE (July 20, 2012)----------
Ever since this review has been written, I have been actively using and playing around in Xcode, following video tutorials online, and searching whatever code I don't know/understand online. In my opinion, I've learned more information about Xcode and making apps for the iPhone than this book has taught me. Looking back, however, I realize that you DO need a good foundation of Objective-C knowledge, which this book provides. It might be possible to learn iOS programming by starting with video tutorials, but if you don't understand EVERYTHING about the tutorials (such as the code, the outlet connections, why something was done, etc.), I suggest you brush up on the basics.
My tip to those looking to learn iPhone programming is to first get a good understanding of the basics of Objective-C from this book. You don't need to memorize or completely understand every method taught in this book, but at least get the general and basic idea/purpose of them. After reading this book, your next step should be to look at tutorials online, whether they are video tutorials or text/image based tutorials. Start from the basics, one by one. I suggest learning how to use storyboards first, as this book does not cover storyboards sufficiently and can be very useful in the future. Next, learn user interface elements. For example, start with the UIButton. Learn how to put it into your iPhone screen's view. Then learn how to create a method for when it is pressed by the user. Next, learn how to add code to that method and test if your UIButton works. A good online tutorial will teach you all of these things (and possibly more). If you do feel that you don't get something while following tutorials, look online for help/documentation or ask someone who can help you. If you have a great amount of difficulty following tutorials, then you might need to go back and brush up on your basics.
In conclusion, after you read this book, you should build up your experience of actually building apps that involve user interface elements as well as the code associated with those user interface elements.
25 of 27 people found the following review helpful
on December 31, 2011
This is clearly the best intro book on Objective C out there. It's fairly comprehensive, doesn't assume any prior programming experience, and best of all, it's fully updated for the latest XCode 4.2, ARC, and iOS 5 development environment. Apple really has been changing the rules of the game for app development very quickly in the OS X days, and this book has kept pace remarkably well. It's really a great intro.
If there's one small weakness, I'd say the author might have presented some tougher challenges in the chapter ending exercises. The sample problems in the text are all very straight-forward and can be answered very easily by referring to the previous chapter itself. At least I think some readers would benefit from the addition of 1 or 2 challenges that might require some out of the box thinking. But hey, compared to other programming books that take the "sink or swim" approach and/or assume they're writing for a 25 year C veteran, I'm willing to forgive the author for a bit of coddling.
I think this is the best place to start Mac an iOS programming, and absolutely where anyone without prior Java, C or even Perl/PHP experience needs to begin. Every other book I've seen assumes a decent familiarity with programming concepts and makes no real attempt to match the scope of this book's coverage (skipping many C topics and more advanced issues like protocols, etc.)
It's not the only book you'll need to program for Apple products, but it's the best first one and it's such a good book starting here makes it more likely you'll actually move on to the Cocoa, etc books. Be sure to buy the Fourth Edition to ensure you get coverage on the radical changes introduced by ARC memory management.
10 of 11 people found the following review helpful
on February 18, 2012
First, in the interest of full disclosure - I was given a copy of this book for review purposes.
Now, on to the good stuff.
This is THE book to get if you need to learn Objective-C from the ground up. I would recommend it to anyone that has exposure to other languages or programming in general and needs to learn Objective-C. (As the author states in his introduction - knowing C is not a necessity. He has taken the approach that Objective-C should be learned on it's own without prerequisite exposure to C.) That being said - it doesn't hurt to have at least some knowledge of C when you read this book - just so that you are not overwhelmed by the similarities when they are pointed out. This is especially true in Chapter 13 when C language features are talked about. After all, Objective-C is based upon C.
What this book does not cover in depth is iOS programming. It's focus is on learning Objective-C - in most examples from a command line/terminal style program. The approach is learning by doing, so for every topic covered there are examples demonstrating the topic that the reader should take pains to replicate on his/her own. There are also extra assignment challenges at the end of each chapter.
The basics are covered first (there is really no mention of any Mac-specific or iOS libraries until Chapter 14). The first thirteen chapters are where the begininning Objective-C programmer learns the ins and outs of the language without regard to any external Mac-related libraries. So, the typical programming language constructs - data types and structures, scoping, classes, looping, OO constructs, inheritance, polymorphism, etc. - all of the things that you need to know about a language itself prior to getting into extensions to that language - are dealt with.
From the fourteenth chapter on, the reader is given instruction in usage of the Foundation Framework - the extra "special sauce" that is used when programming Macs, iPhones, and iPads using Objective-C. Within these chapters, the various Foundation Framework specific data types are covered as well as techniques that you will use in your Mac programming career. So, he covers the specialized string objects, number objects, and collection-style objects as well as memory management with ARC (Automatic Reference Counting).
Finally, in the last chapter, he talks about iOS programming specifically. And, there is only a single chapter devoted to it. That is not a criticism on my part. You should realize going in, that this book is about Objective-C - not about iOS programming. As an Objective-C learning tool it excels. Once you've read this book - I suggest you get one of the many excellent books that are devoted to iOS programming. You will then be able to understand on a deeper level the Objective-C code being demonstrated in those references.
In summary, this is the premier learning tool for Objective-C. It's been the book to get from it's first edition up until this latest fourth edition. I highly recommend it and suggest that this be the first book you read prior to writing your "killer" iPhone app - or that you read it concurrently with any of the iOS-specific books that are out there presently.
10 of 11 people found the following review helpful
on May 18, 2012
If you want to learn objective-c, hands-down, this is the best book out there! The lessons and exercises are challenging and well thought out. The author obviously has a background in teaching programming languages in the past. The forum is great place to get help and look at other people's solutions. For those of you that don't know, there are no solutions to the problems, you have to go to the forum.
However, around chapter 11 where use of the built in frameworks is introduced, the explanations are rushed over and important concepts are skipped all together. It feels like the author worked so hard at the beginning of the book and then rushed the ending. I worked my way through until chapter 16, then threw up my hands and switched to the Big Nerd Ranch Guide IOS programming. To the authors credit, I had no trouble transitioning to this book as he had given me such a good base in objective-c.
Summary - Buy this book to learn objective-c then move on to other texts when you are ready to try actual IOS programming.
19 of 23 people found the following review helpful
on December 19, 2011
This is an excellent text on Obj-C in general, but if you already have an edition since 2, this is not worth the update on ARC. The changes to discuss ARC are quite short and contain much less information than Apple provides in free developer documentation. There isn't any information on corner cases. In general, though, it's essential that a new edition cover ARC and the new Xcode.
9 of 10 people found the following review helpful
on December 30, 2011
This book keeps at a good pace! It's not too complicated, he explains everything good in detail--if he doesn't at that chapter then and there he will surely later in the book! It's great! He takes into consideration of where you are at when first stepping into the world of Objective-C. He knows it's confusing for you at first but he drives you through it, and he does it smoothly--especially with the end of every chapter questions and emphasis of things from past chapters. I recommend this book for anyone wanting to learn Objective-C, then after completion of this book you can move onto Cocos2d or something! Don't fear learning this intimidating language, buy this book and it'll be a peace of cake. I guarantee!
7 of 8 people found the following review helpful
on March 14, 2012
I am a programmer experienced in several procedural languages and was tasked at working with some IPAD apps. I got this book, read through it and did some of the examples in about a week. I can recommend it as a good introduction to Objective-C.
For an experienced autodidact it was targeted just about right.
It doesn't go deeply into IPAD or IPHONE specific stuff, again it's mostly an intro to the language itself, with a bit on the Xcode environment. It gives you enough to start with but it isn't an "in depth" review of all possible libraries and classes, or debugging and use of the IDE.
So, if you need a guide on writing specific types of apps and navigating through Apple's deployment maze, this isn't it. But then, it doesn't claim to be.
6 of 7 people found the following review helpful
on July 6, 2012
The book takes a slow approach of introducing small bites of the languages at a time. The language is a little drawn out, which can be helpful to the novice, but I find needlessly lengthy. With my background, I find the reading easy with moments of tedious.
If you have experience with programming languages C or C++, you can safely skip chapters 5 and 6.
The pace picks up from chapter 7, and progressively gains tempo. Around chapter 13, the book takes a downward turn into the Foundation Framework. The vague description of memory management left me confused. I have not read earlier editions, but I worry that the ARC model caused so many revisions to this book, that it pales to it's previous splendour.
My main complaint is typos I have found in text that can cause trouble for the novice programmer. I hope this doesn't extend to more advanced topics that I am unfamiliar:
- Page 52: 1.7e4 is floating-point ... value 1.7 x 104 (the mistake is that 4 should be an exponent).
- Page 55: Constant Example [of long int] 12L, -2001, 0xffffL (the mistake is -2001, where the 1 [one] should be l [lowercase L] - this may not display due to font, but it is obvious in book).
- Page 165: Markup text <mono> ... </mono> should be removed.
Overall from other reviews I have read, there is a poor selection of Objective C books, and despite it's shortcomings, this is still one of the better ones. If someone knows of a better alternative, please include a comment. When I learned C, I read Kernighan & Ritchie. When I learning C++, I read Accelerated C++ by Koenig & Moo. I only wish something there was a book in Objective C that could compare to these books.
6 of 7 people found the following review helpful
on January 12, 2012
I've placed my order today for the 4th edition and I would like to stress out this point for any newbie out there who wants to learn Objective-C right from the beginning: buy the latest one because it's a real pain with older versions. Xcode was updated not long ago and a lot of terms, names...and so on, became obsolete, so if you want to waste your time, like I did, figuring out what goes where, go ahead with an older version and make your life as twice as difficult. It's not only about ARC, but a lot of changes in the code syntax, plus improvements and layouts of Xcode 4.2, you are not aware of by studying older versions, so don't make your life unnecessarily harder because it's no need for that. Learn from my experience, and if I can understand what the author is trying to say, anybody can understand. Besides, the author has a forum related to it with a lot of explanations, and even really, really cheap online courses and webcasts, in other words here is the starting point if you are serious in developing your own iOS apps. All the best.
6 of 7 people found the following review helpful
on January 7, 2012
Glad to see Stephen Kochan has another edition out. I read the 2nd and 3rd editions of this book. I have the same recommendation for this edition: This book is perfect for someone new to Objective-C. I have programming experience prior to reading this book and have gone through many other programming language books. This book is one of the best because it quickly gets to the Objective-C basics and then the more advanced topics are explained in detail. After reading the 2nd edition, I joined a company to build an iOS app. I have used the 3rd edition and now the 4th as reference throughout my iOS programming work.