Objective-C is a wonderful language that has received far less attention than it deserves. It has suddenly become (more) popular with the success of Apple’s Mac OS X and iPhone, where it is the supreme development language. If you’re going to learn a language to write applications for Mac OS X or the iPhone, Objective-C is the language to learn.
The Objective-C language does not feel like it was developed by a committee or a computer science major. It’s a language for minimalists and anarchists. Yet it retains many
of the features that make Java one of the great programming languages of our time. Objective-C lets you write applications that are every bit as structured and formal as anything you can write in Java. But at the same time, if you want to bore a hole through the language and head off in a direction where no one has gone before, it won’t stand in your way.
After programming in Objective-C for a few years, I was struck at how “Java-like” my programs were. If I’d known then just how many of my Java techniques and concepts were directly transferable to Objective-C, it would have saved me months of study and experimentation. I wrote this book so that you can avoid the same fate.