第一級オブジェクト
また、関数から返すこともできない。配列そのものではなく、ポインタもしくは参照を用いるか、ないしは配列を構造体に埋め込み、その構造体を関数の引数や戻り値としなければならない。配列の各要素についてはできるが、配列全体をひとつとして扱うことはできない。そのため、C/C++の配列は、第一級オブジェクトではない。また、C/C++での関数は実行時に作成することができない。したがってC/C++では関数も第一級オブジェクトではない。ただし、関数ポインタを使用することで上の性質の多くを満たすことができるため、C/C++の関数を第二級オブジェクトという場合がある。FORTRAN 66における文字列は変数に格納することができないため、第一級オブジェクトではない。
Smalltalkでは、無名関数(ブロック)については他言語同様として、関数(メソッド)もクラスと同じように第一級オブジェクトである(CompiledMethodクラスのインスタンス。実体はバイトコード列でクラスのメソッド辞書に値として格納されている)。演算子(+、-)もSmalltalkではメソッドで実現されているため、他の通常のメソッド同様やはり第一級オブジェクトである。
ほぼすべての言語において、整数や浮動小数点数などの最も単純なデータ型は第一級オブジェクトである。古い言語(例えば上述のC/C++)においては配列は第一級オブジェクトではなかった。それらはオブジェクトとして例えば直接代入することはできず、その要素のみを個別に扱うことしかできなかった。