Objective-C は、元々柔軟な C に、アラン・ケイによって作られ PARC(パロアルト研究所)の自由な雰囲気の中で育ってきた Smalltalk を掛け合わせて生まれた。C の持つプログラミング言語そのものとしての柔軟性に、Smalltalk の持つオブジェクト指向言語としての柔軟性を与え、C++ の覆い隠そうとした“ C の地の部分”を積極的に利用したのである。そのためソースコードは C と Smalltalk の混成のような形となり、基本的な言語構造は C の柔軟性をそのまま(長短含めて)受け継いでいる。両者のスタンスの違いは、ネーミングにも明らかだ。“ C のインクリメント”(C++)と“オブジェクトな C ”(Objective-C)の違いである。つまり、 C++ は Simulaによって“ C を越える”ことを目指し、Objective-C は Smalltalk によって“ C を活かす”ことを目指した言語なのである。