- Develop with Objective-C and Cocoa
- Tim Isted
The first time I opened Xcode must have been back on the Jaguar operating system. I’d been writing an AppleScript program to generate an HTML gallery from my iPhoto library and I must have opened the script in Xcode instead of the AppleScript editor. Good grief did it look complicated. I quickly closed it.
I have always edited plain text files. Pascal, Cobol and 4GL files all chopped and changed using whatever text editor was available on the operating system and then compiled from the command line. The only IDE of any note that I’d used was Microsoft Visual Basic. That was back when it came on a fist full of floppy discs. I wrote a little countdown timer and hated the fact that vital code was buried under invisible screen elements and then in the properties of those elements. I was happier with text files.
I bought Beginning Mac Programming as a PDF from the Pragmatic Programmers. I have countless copies of their books but this is the first electronic book I’ve read from cover to cover. Even for a seasoned programmer I found learning Objective-C a little daunting. None of it seemed to be very readable. Thankfully I had been dabbling with Ruby for a number of years so I understood a little about object orientated programming. But I think that even if you haven’t done any programming at all you should be able to follow along. For me, I think the level was just right. Yes, I understand what conditional statements are and what MVC is and how objects work but it’s good to read it and think, “Oh yeah! I knew that”. Creating new applications in Xcode already sets out the directory structure and names files so it isn’t as if you’re starting from scratch. One problem is that Xcode keeps changing at a rapid rate so some of the examples in the book were slightly different to the code that gets auto generated.
I guess now it is just a question of practice. I’ve just downloaded Xcode 4, which has Git support, so I’m going to run through the book again and write my own application as I work through the chapters.