「Objective-C」の版間の差分

削除された内容 追加された内容
m ボット: 言語間リンク 1 件をウィキデータ上の d:Q188531 に転記
CharHigh (会話 | 投稿記録)
m編集の要約なし
7行目:
|影響を受けた言語 = [[Smalltalk]]、[[C言語]]
|影響を与えた言語 = [[Java]]
|プラットフォーム = [[OS X|Mac OS X]]、[[GNUstep]]他
}}
 
13行目:
'''Objective-C'''(オブジェクティブ シー)は、[[プログラミング言語]]の一種。[[C言語]]をベースに[[Smalltalk]]型の[[オブジェクト指向]]機能を持たせた上位互換言語である。
 
Objective-Cは[[NeXT]]、[[OS X|Mac OS X]]の[[オペレーティングシステム|OS]]に標準付属する公式開発言語である。OS Xのパッケージ版に開発環境がDVDで付属するほか、ユーザ登録をすれば無償でダウンロードできる([[Xcode]]の項目参照)。現在では主に[[アップル インコーポレイテッド|アップル]]の[[Mac OS X]]や[[iOS (アップル)|iOS]]上で動作するアプリケーションの開発で利用される。
 
== 概要 ==
24行目:
したがって、C側から見れば一種のスクリプトインタプリタが乗っているような状態であり、逆にオブジェクトシステムからはOS機能や膨大なC言語資源を直接利用可能なインターフェースが備わっているといえる。また仮想マシンを持たずに済むため、取り回しも良い。パフォーマンスはJavaのような中間コード型言語よりも良好で、CやC++のようなネイティブコンパイル言語には劣るとされる。Objective-C特有のこの形態は双方のメリット・デメリットが明確で、実際的な使い勝手が非常に優れている。この特性に着目したのが[[NEXTSTEP]]で、[[UNIX]]との互換性と先進的なオブジェクト指向環境の両立に成功し、その後のOS設計に大きな影響を与えることとなった。
 
後続言語への影響としては、特に[[Java]]の基礎設計にその姿を見ることができる([[サン・マイクロシステムズ|Sun]]が[[OPENSTEP]]に関わっていたことと関係がある)。
 
{| class="wikitable" style="margin:auto"
258行目:
 
== Objective-C 2.0 ==
Appleアップル[[Mac OS X 10v10.5]]において'''Objective-C 2.0'''という名称で言語仕様の変更を行った。
;ガベージコレクションの導入
:世代別の保守的GCを導入し、GC管理下にあるオブジェクトは全てメモリ管理を自動化できる。なお、これに伴い[[Core Foundation]]のオブジェクトもGC管理下に置けるようになった。GCモードでは[[マルチスレッド]]周りの性能が向上するとみられる。