Self は、オブジェクト指向プログラミング言語と関連するプログラミング環境です。それは精神と意味論をSmalltalk に近づけますが、構文と意味論はSmalltalk よりかなり単純です。Selfシステムの基本機能のほとんどは、Self自身で実装されます。Selfはクラスを持ちません。代わりにより直接的なオブジェクトベースの継承メカニズムが提供されます。プログラミング環境は効果を変更する「ツール」を適用する代わりにプログラマがオブジェクトと直接通信する (またはよう)、直接的な操作を容易にします。