概要
「C言語は手堅いけど低レベルでかったるい」「Smalltalkはめっちゃ便利だけど独自の世界を持っててOSなどとつなぎにくくとっつきづらい」という双方の長所短所に対して「C言語から直接Smalltalkみたいなものが使えればいいのに」という動機で作られた言語である。
C++と異なりCからの言語的な拡張はほとんど毛が生えた程度だが、Cの中にいきなりSmalltalkが割り込んでくるような世界観のため、コードの見た目はC++以上にCからかけ離れていたりする。
簡素な文法+強力なライブラリセットというSmalltalk系の流れをダイレクトに受け継いでいるため、基本的にはその環境ごとのフレームワークを使い倒してナンボの言語。そのためアプリ開発には良いが、他環境に持っていくようなミドルウェアなどの用途には不向きと、得意不得意がはっきりしている。
こんなヘンテコな言語がそれなりの知名度を獲得しえたのは、伝説のOS「NEXTSTEP」が主力言語としてObjective-Cを採用したためである。NEXTSTEPはUNIXワークステーションにオブジェクト指向の概念を取り入れた先進的な環境を提供していたが、これを実現するに当たりOSを直接触れて、扱いやすいOOP環境も作れるObjective-Cは渡りに船であった。後のmacOS(OS X)やiOSはいずれもNEXTSTEPの直系子孫である。というか、ぶっちゃけNEXT系以外のシステムではほとんど使われていない。