11.4. Discussion

Objective C is a surprisingly elegant combination of the two very different languages C and Smalltalk. It does not take away any of the low level complexities of C (pointers, memory management, etc.), but sets the foundation for large object oriented systems without sacrificing the benefits such as speed and simplicity. Some unique features such as the compile time type checking combined with the ability to add protocols to existing classes (bearing some resemblance to Haskell's type classes) would definitely help the other C-based object-oriented languages.