– Superset of C
– C with features of Smalltalk
– Object oriented
– Created in 1986, almost 10 years before Java
– Passes messages instead of calling methods
– Simpler than C++
– Has no “standard library”, unlike C++ and Java
– No namespaces
– Uses label names for method parameters
– Run-time type checking, instead of compile-time (C++, Java)
– Dynamic linking. Code is loaded as needed at run-time.
– Code is comprised of interfaces (header) (.h) and
implementation (methods) (.m)
– Objects are introspective at run-time
– Can add methods to any class without subclassing through categories
– “@” is a compiler directive
– “id” type for all objects
– “nil” type for a null object
– Operations on nil objects do not generate an error
– “NS*” type for “Next Step” objects
– Uses dot syntax for getters/setters
– Has both manual and automatic (2.0) memory management
– Latest version has exception handling
– Typically Objective-C programs have fewer (but larger) classes than other OO languages
Intro:
Wikipedia
Learning Objective-C
C++ and Objective-C Compared
Objective-C is Fun
Objective-C: Guide and Resources
Reference:
The Objective-C Language
Mac OS X Reference Library Learning Objective-C