I recently conducted an online class on Objective-C Programming. Part of the gig involved creating a course and choosing a book to assign to the students. The book would ideally provide a comprehensive overview of Objective-C as well as provide exercises for the students to work on each new aspect. After reviewing several texts, I chose Objective-C Programming: the Big Nerd Ranch Guide, 2nd Edition, by Aaron Hillegass and Mikey Ward and it proved to be an ideal resource for introducing Objective-C.
In this day and age, you would think that new users should be leaning Apple’s Swift language. You would be partially correct. However many seasoned developers have found that swift is an evolving language and frequent changes have made full time adoption challenging. I have always believed that learning the basics and roots of a language or any new skill is very important to great learning. Objective-C Programming – the Big Nerd Ranch Guide does indeed cover the basics, in fact starts even deeper, with several exercises on the C language. Objective-C is not simply based in C, it is actually a superset of C – as the text points out. Building a solid understanding of C leads the students progressively into Object Oriented Programming.
Like all of the Big Nerd Ranch guides, this book develops the users skills gradually. Midway through the book, you are rocking through ever advancing Objective-C concepts. By the end of the text, users have been introduced to Protocols, Class Extensions, ARC and Blocks. The book uses a practical mix of building skills and knowledge and is a great introduction to Objective-C. It lays a great foundation that could easily be followed up by the iOS Programming: Big Nerd Ranch Guide (5th edition pending) and hopefully a forthcomming BNR guide to Swift.