An object-oriented superset of ANSI C by Brad Cox, Productivity Products. Its additions to C are few and are mostly based on Smalltalk. Objective C is implemented as a preprocessor for C. Its syntax is a superset of standard C syntax, and its compiler accepts both C and Objective C source code (filename extension ".m").
It has no operator overloading, multiple inheritance, or class variables. It does have dynamic binding. It is used as the system programming language on the NeXT. As implemented for NEXTSTEP, the Objective C language is fully compatible with ANSI C.
Objective C can also be used as an extension to C++, which lacks some of the possibilities for object-oriented design that dynamic typing and dynamic binding bring to Objective C. C++ also has features not found in Objective C.
Versions exist for MS-DOS, Macintosh, VAX/VMS and Unix workstations. Language versions by Stepstone, NeXT and GNU are slightly different.
There is a library of (GNU) Objective C objects by R. Andrew McCallum <email@example.com> with similar functionality to Smalltalk's Collection objects. It includes: Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue, Stack, Heap, SortedArray, MappedCollector, GapArray and DelegateList. Version: Alpha Release. ftp://iesd.auc.dk/pub/ObjC/.
See also: Objectionable-C.
["Object-Oriented Programming: An Evolutionary Approach", Brad Cox, A-W 1986].