As with every operating system, Mac OS X supports as many languages as it has compatible compilers. 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.
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 ...