How do you learn a new programming language? How to you learn anything new for that matter?
I usually start by reading and researching – web sites, books, manuals. Anything I can get my hands on. But there comes a point when you need to get your hands dirty. Doing is a great way of learning. And when it comes to learning a programming language the only complaint you will get is from the compiler reporting a syntax error. No real harm there.
So what I was after was a series of exercises that would take me through developing a program in Objective-C and iOS. And I found an easy winner fairly quickly.
The Big Nerd Ranch books are an excellent choice. I have lost count of the number of times I have created a new empty iOS application and then created the first UIVIewController and so on. Almost always hand coding from scratch, though they cover the Interface Builder as well. Repetition is a great way to learn. I have both the Objective-C book and the iOS book. I have been working through both of them in parallel.
I have yet to find an error nor any explanation or instruction that was hard to understand. A few times I have repeated the exercise to make sure I understood what they were suggested. I have also eschewed their instruction of always using BNR as the class prefix to save confusion (or compilation/build errors). I have a fair idea where and when I need to change BNR to my own prefix – and it keeps me on my toes.
So far I have about half way through both books. Its taken a while, life has got in the way this year. But small steps in progress regularly has certainly paid off. I am confident that if I ever had to write a loan amortisation program, I would be able to do a better job …