Objective-C Programming: The Big Nerd Ranch Guide28 Feb 2013
You will be baffled from time to time… Stick with this book. I promise the bewilderment will cease before you get to the final page.
~ Aaron Hillegass, Author
Finding the Right Objective-C Book
I’ve gone through several Objective-C books in my quest to master RubyMotion. You read that right: I’m learning Objective-C so that I can master RubyMotion. Objective-C Programming: The Big Nerd Ranch Guide is one book that clicks for me. Here’s why.
Minimal fluff. Other Objective-C books start off with speeches about why a dev should write for iOS. What a waste of paper. The Big Nerd approach: Start with a few paragraphs about C, and then jump right in to Xcode installation followed by “Hello World.” Refreshingly direct.
Clear examples. As I immerse myself deeper into the world of Objective-C, I am troubled by much of the documentation. It’s okay to describe a method signature, but a description with an example is much better. While reading other Objective-C books, I found myself pausing to search Stack Overflow for alternate explanations. The Big Nerd book is better because everything is self-contained. Method descriptions are followed by clear examples.
Zero Assumptions. Even though the book contains minimal fluff, readers will appreciate how the author defines terms throughout the text. For example, the book does not assume that the reader knows the classroom definition of the word syntax. It defines the word explicitly:
Syntax is the set of rules that governs how your code must be written in a given programming language. These rules are extremely specific, and if you fail to follow them, your program won’t work.
Do I Really Need Objective-C?
Yes. If you want to be effective with RubyMotion, you must grow strong with Objective-C.
The RubyMotion devs whom I admire most also know Objective-C. Devs like Matt Aimonetti (creator of BubbleWrap), Randall Thomas and Tammer Saleh (authors of RubyMotion in the Cloud), Jonathan Penn (instructor/speaker at CocoaConf) and Laurent Sansonetti (creator of RubyMotion) move seamlessly between the worlds of Ruby and Objective-C. Luke became a Jedi because he followed in the footsteps of Yoda.
More important than following the masters: Learning from their triumphs and mistakes by reading their code. Developers in 2013 are fortunate to have tools like GitHub where code is shared on a massive scale. Most iOS code is written in Objective-C. If we want to learn from the iOS code that has been written before, we need to know Objective-C.
If you want to develop apps for iOS devices, start with Objective-C Programming: The Big Nerd Ranch Guide. The book is also helpful if you prefer RubyMotion over Objective-C.
And don’t forget your 10,000 Hours of Practice.