O'Reilly logo

Mac OS X in a Nutshell by Chris Stone, Chuck Toporek, Jason McIntosh

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Programming Languages

As with every operating system, Mac OS X supports as many languages as it has compatible compilers.[22] Some are described in the following list. Its status as a Unix-flavored system, arguably the most flexible platform for programming, means that it already has a wide support base.

Objective-C

As C is to a “generic” Unix system, and as C++ is to Mac OS 9, one language lies closest to Mac OS X’s heart, in terms of support and programming ease: Objective-C. This elegeant, object-oriented langauge, which adds a handful of syntax rules onto plain-vanilla C, is the lingua franca of Cocoa development.

In order to better support legacy code, Mac OS X also supports strange notions such as Objective-C++, which allows a programmer to invoke and work with C++ object classes from Objective-C code, and vice versa.

One important downside to Objective-C programming is the fact that most newcomers to Mac OS X programming have likely never used or even seen it before; in fact, it’s hard to find any application of it outside of Mac OS X. The developers most likely to already know Objective-C are those who already have programming experience with NeXTSTEP (Mac OS X’s predecessor, whose OpenStep libraries envolved into the Cocoa frameworks we have today). Fortunately, Objective-C does not present large barriers to entry; people with any programming experience can start down this path by reading The Objective-C Programming Language , a concise, excellent, and free book found ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required