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.
Working with Cory Silverberg (and Fiona Smyth and Zab Typography by proxy) we have crafted an eBook format and companion web site for “What Makes a Baby“. The book has been available via Cory’s Kickstarter campaign and will soon be available on Apple’s iBook Store and on Amazon for Kindle Fire (and some Android tablets.) Of course you can also buy the beautiful Hardcover Edition on the web site.
For iPad What Makes a Baby on iBooks
Here’s Cory’s own words:
What Makes a Baby is my response to the fact that books about where babies come from leave many of us out. They tell a nice story (mommy + daddy + intercourse = you!) but the truth is that more and more of us are acknowledging the help we get to bring children into our lives. That help might be a doctor, fertility clinic, adoption or foster agency; it might be a turkey baster and a friend; it might be a sperm donor or a surrogate. What Makes a Baby helps parents tell children a story about where they came from that isn’t just true for them, but true for everyone.
Crafted for children roughly from pre-school to 8-years-old, What Makes a Baby is written and illustrated to include all kinds of kids, all kinds of adults, and all kinds of families – regardless of how many people were involved, what the orientation, gender identity, or other make up of the family is, or how it came to be that way. It’s a social justice approach to sex education. Like all picture books, it’s meant to be read to a child and gives the adult reader the opportunity to fill in as much detail as they would like.
Written by a certified sexuality educator, Cory Silverberg, and illustrated by award-winning Canadian artist Fiona Smyth, What Makes a Baby is being designed and produced with the help of Zab Design & Typography and will be an exquisitely made hardcover picture book. 32 pages and full color, it will be as fun to look at as it is useful to read.
Cocoa Programming for Mac OS X by Aaron Hillegass, Adam Preble
I have read several books by the author, Aaron Hillegass, and seen him speak live. He’s a great resource to the iOS development community. I am also an intermediate Objective-C developer, team leader, have published several apps to the App Store and also instruct beginners on iOS development. Whether you are looking to get into Mac OS X or IOS development this book is a great addition to your library.
To begin with it focuses on the latest version of Xcode and iOS 5 which includes ARC (Automatic Reference Counting) which is a huge time saver for development. Without ARC you had to manage the memory allocations for your own objects – take my word for it, a PITA if you are new to Objective-C. The book has been updated to work with more code automation in Xcode, using drag and drop to make connections to outlets and actions – another huge timesaver. This is one of the first books on the market to include those. For a beginner or intermediate coder using older books on earlier editions can be very frustrating.
The style in Aaron’s books is that he dispenses with the hand holding approach of most of the books I’ve read. Other books give you a step by step instruction as you go through the things you may want to learn. That approach actually impairs your ability to actually learn. The Big Nerd Ranch approach is to show you how to do something, by dealing with just one or two key concepts at a time. Then they immediately challenge you to put together what you’ve learned so far. This is completely optional, but a great concept for learning. If you find the challenge too difficult then you may want to review what you’ve learned previously.
I’ll admit when I read the Third Edition I was more of a junior dev in Objective-C and found the going rough sometimes. That was the challenge of the Objective-C learning curve – not the book. Now that I am more familiar with Objective-C, I find that the fog is gone and both editions make sense. This Fourth Edition is a great tool to get up to speed on the new concepts in iOS5 and Xcode 4. If you are just getting started or need to polish your skills, I highly recommend this book.
This book has become my go to resource for starting out in iOS development. Unlike other books on the subject the author gives a clear overview of building with the built in tools and then covers building apps programatically. This is very good approach because the student learns how to build apps in more ways that one. The code being printed in color also makes the code very easy to follow and replicates the display in Xcode 4.
I use this book in every class I lead for users getting into iOS. The author has been publishing his tutorials online via his website