オブジェクト指向プログラミング
オブジェクト指向プログラミングは、ソフトウェアの大規模化に伴い、より効率的な開発手法が模索される中で1960年代に考案された。OOP言語は歴史的にクラス構造を中心とする"Simula"系統と、メッセージ機能を主体とする"Smalltalk"系統に分けられるが、後に"C++"や"Java"などの言語が派生した前者が主流となった。この前者のオブジェクト指向が示す「内部隠蔽」「継承」「多態性」の三仕様を備えていれば、OOP言語であると見なされる。
Java
1990年頃、サンのエンジニア、パトリック・ノートンは、自社のプログラミング言語C++とCのアプリケーションプログラミングインタフェース(API)と開発ツールに不満を募らせていた。その頃、NeXTが注目を浴びていたことがきっかけとなって、ノートンはサンでプログラミング環境の開発の仕事をすることになった。NeXTワークステーションと、その環境であるNEXTSTEPでは、主力の言語としてObjective-Cが開発されていた（余談になるが、その「直系の子孫」に当たるのは、macOSおよびiOSと、Swiftである）。こうした経緯のなかで「ステルスプロジェクト」が始まった。