Q: Why did NeXT choose Objective-C rather than C++?
A: NeXT chose Objective-C over C++ for several reasons:
1) We wanted a language which represented the smallest perturbation to the C language, to make it easier for programmers to learn. In our opinion, C++ was a significantly major change to the C language compared to Objective-C, which adds only a few new constructs to C.
2) At the time we made the decision, C++ did not support run-time binding, and this lack greatly reduces the advantages of taking an object-oriented approach. With run-time binding, you need not know the details of the object to which you're sending a message. This supports modularity and reusability of code, and is essential for a true object-oriented programming environment. See Chapter Two of the Brad Cox book (Object-Oriented Programming: An Evolutionary Approach; Addison-Wesley, 1987) for a fuller description of these issues.
3) C++ does not support dynamic loading of objects, once again a key feature necessary in order to take full advantage of the power of Interface Builder.
QA342
Valid for 1.0, 2.0,r 3.0