Unlike C++, Objective-C is a true superset of C.
Objective-C is dynamicaly typed so class libraries are much easier to deal with than in C++. The Objective-C run-time allows you to access methods and classes by their string names, as well as do dynamic linking and addition of classes and categories at runtime.
Unlike C++, Objective-C only extends the C language to support Smalltalk like OO features without any extra functional-programming baggage.
Objective-C supports dynamic binding and has a messaging syntax like SmallTalk's.
[myColor setRed:0.0 green:0.5 blue:1.0];Fast
Objective-C performs dynamicaly bound message calls very quickly (about 1.5-2.0 times as long as a C function call).
Brad Cox and Tom Love started StepStone Corp. which developed the first Objective-C compiler in 1986(?)
In 1988 NeXT licensed Objective-C from StepStone and released their own Objective-C compiler and libraries on which the NeXTstep user interface and interface builder were based.
In 1992, Dennis Glatting wrote the first gnu-objc runtime, and Richard Stallman the second.
The GNU Objective-C runtime that has been in use since 1993 is the one developed by Kresten Krab Thorup when he was a university student in Denmark. Kresten also worked at NeXT for a while.
If you have the sources to the GNU C Compiler (GCC), then you have the GNU Objective-C compiler and the runtime. The current version of GCC is available at ftp://ftp.gnu.org/pub/gnu/gcc and at mirror sites.
Apple & MacOSX
After aquiring NeXT, Apple used NeXTstep as the basis for it's "next" operating system, Mac OSX. This includes Objective-C and NeXT's Objective-C based developer tool, Interface Builder. For a while there was talk of a move to Java and Java support was added to OSX. But it appears that Objective-C has remained and is the language of choice for serious OSX development.