About Objective-C Essentials

From Techotopia
Revision as of 19:50, 20 November 2009 by Neil (Talk | contribs)

Jump to: navigation, search
PreviousTable of ContentsNext
Table of ContentsThe History of Objective-C


Why are you reading this?

On the surface this sounds like an odd opening sentence for a programming book. After all, if this were a book about JavaScript or PHP I'd be safe in assuming that you planned to develop some kind of web site or web application. Similarly, if this were a Visual Basic book it'd be a good bet that you had plans to write a Windows application. Indeed, had I asked this question a few years ago, I could have guessed with a reasonable level of confidence that you wanted to learn Objective-C in order to develop some software to run on Apple's Mac OS X operating system. Now, however, there is a greater likelihood that you plan to develop an application to run on the iPhone.

The iPhone, after all, runs a special version of Mac OS X. Given that Objective-C is the programming language of choice for this operating system it should come as no surprise that before you can develop iPhone applications you first need to learn how to program in Objective-C.

The objective of this book is to teach the skills necessary to program in Objective-C using a style that is easy to follow, rich in examples and accessible to those who have never used Objective-C before. Topics covered include the fundamentals of Objective-C such as variables, looping and flow control. Also included are details of object oriented programming, working with files and memory and the Objective-C Foundation framework.

Those who have developed using other programming languages such as C, C++, C# or Java will find much about Objective-C that is familiar. That said, there are aspects of the language syntax that are unique to Objective-C. Even experienced programmers should therefore expect to spend some time transitioning to this increasingly popular programming language before embarking on a major development project.

Whatever your background and experience, we have worked hard to make this book as useful and helpful as possible as you traverse the Objective-C learning curve.

Supported Platforms

After all this talk about Mac OS X and the iPhone, it is important to note that Objective-C is not confined to Apple's operating systems. In fact, Objective-C is available on a wide range of platforms including Linux, NetBSD, OpenBSD, FreeBSD, Solaris and Windows in the form of the open source GNUstep environment. This means that anyone with access to a GNUstep supported platform can learn Objective-C for free, though if your ultimate objective is to develop for the iPhone, you will at some point need access to an Intel based Mac computer system.

Perhaps one key advantage to using a Mac OS X system for learning Objective-C comes in the form of access to Apple's Xcode development environment. Other than references to Xcode in early chapters, however, the remainder of this book is intended to be as platform agnostic as possible.