| abstract
| - Objective-C is a reflective object oriented programming language developed by Brad Cox as a hybrid between Smalltalk and C to combine the flexibility of Smalltalk with the execution speed of C. It was chosen by NeXT Inc. as the implementation language for the NeXTstep operating system and its API, which was later published as an open specification under the name OpenStep, After Apple Inc. acquired NeXT, Objective-C and the NextStep API became the base for Apple's current operating system Mac OS X. Today, Objective-C is the main application development language for Mac OS X. As a hybrid of two languages with different programming paradigms, Objective-C is difficult to classify. Its core language is ANSI-C which makes it a statically typed, imperative low-level programming language. However, on top of the C core language, Objective-C defines a thin layer of Smalltalk derived object oriented features which also make it a reflective, dynamic, late binding, object oriented language. These may initially seem to be conflicting programming styles, but in practise there is a clear separation between the two. The C core language is used to code the control flow of a program and the Smalltalk derived extensions are used to define and work with abstract data types. As a result of this practise, an program written in Objective-C benefits from the expressive power and flexibility of Smalltalk and the execution speed of C.
|