Book Review - Pragmatic Programmers - iPhone SDK Development 3.0
Hi iPhone developers,
I just bought "iPhone SDK Development" yesterday from pragprog.com, my favorite tech publisher. After reading "Agile Web Development with Rails" from the same publisher, I had pretty high expectations for this iPhone book. I'm sorry to say that I'm thoroughly disappointed. Here's the problems that I have with the book.
* You can't program along with the book with downloading the example code.
The example code printed in the book is no where near complete. If you try to programming along, you better pay very close attention and fill in the blanks yourself. Just typing what you see will only get you compile errors. Not only that, but I have the feeling that they even skip some of the necessary setup (e.g. database creation in the CoreData chapter).
I understand that it might not be possible to create an entirely new application each chapter and still have all of the code in the book. Then they should simply create a single application throughout the book and build upon it with each chapter. Provide in the sample code, the starting point for each chapter if the reader wants to skip around.
* Too often I read, "We don’t have space to go into detail, but you can see ...".
Thanks a lot. At least I now have a link to Apple's documentation, but the reason I bought the book is to have an expert walk me through the difficult problems. If I just needed a bare bones tutorial for the absolute basics, I would have read Apple's documentation from the beginning. Arghhh.
* Each chapter is one long code regurgitation.
Instead of breaking the chapter up into bite sized bits where I can check my progress every once in a while, this book is one long stream of code hurl. You never know when you've just completed something you could build and test. You never get any screenshots mid-chapter of what it should look like and what should work now. By the time you've reached the end of the chapter, you've, of course, forgotten what you did at the beginning and what ui functionality maps to which bits of code.
* No chapter on unit testing.
Come on! What is this, the 90's? Earth to author, "Everyone should be writing automated tests, nowadays!". Why did they leave out this extremely important topic? They only have one single paragraph on the subject and there they simply link to the Apple "iPhone Developer Guide". Super.
* No error handling or validation.
For a typical application, 20% of the code I write is to handle the success case and the remaining 80% is to handle when things go wrong. The author not only has 0 lines of error handling and validation code, he even goes as far as deleting the xcode generated error handling (i.e. write to the log). This is exactly the place where I need a book as opposed to an online tutorial. How do I write a real application? This book didn't answer this question in the slightest.
Its too bad. If Pragmatic Programmers keeps publishing books like this they're going to lose a lot of their readership. I know I'm going to be much more careful next time before buying a book from them.
Austin