I took off on a personal venture to learn Objective-C about a week or so ago. I thought, initially, my old C skills would jump in but it has been 10’sh years and Objective-C is NOT, I repeat, NOT like the C I remember. 🙂 There are tons of resources online but I couldn’t make heads or tails of it so I turned to a book. The problem, as I see it, is with a weirdly structured language and the tons of crappy code online. Call me spoiled (by ECMA languages, that is) but Objective-C is an ugly language. You have unconventional approaches to calling methods, etc. It is not straight forward like
[someClass someMethod: someParam]
There are a plethora of Hello World examples online but most of them deal with it on the iPhone or a native OSX app. This is a fundamental problem of learning languages, IMO. Most times we start with the “frameworks” vs looking directly at the code so we get caught in the mix of things. I realized I was doing this exact thing, trying to learn Objective-C while learning iPhone dev, so I thought back to how I learned Java and C#: I read a core book detailing the language intricacies. Well…Java was a design patterns book then I took a training while at Limelight which helped. Either way…started with a book. 😉 So I found a book on Objective-C, not iPhone or OSX, and bought it on my Kindle. It touches on them but most of the book is about straight Objective-C code in a terminal window.
So far I believe in this book. It is showing me a lot and, most importantly, it discussing the fine details of the language. Kudos to Stephen Kochan. My plan is to post all of the intricacies here to detail the differences between Objective-C and ActionScript, C#, or Java. I might talk about all three on one posts but might only hit one. Those three are all ECMA so posting about one will be pretty close to posting about the others anyway.
Look for some posts coming soon.