Objective-C Wikipedia(ja)
Objective-C - Wikipedia
Objective-CはCを拡張してオブジェクト指向を可能にしたというよりは、Cで書かれたオブジェクト指向システムを制御しやすいようにマクロ的な拡張を施した言語である。したがって、better Cに進んだC++とは異なり、C & Object Systemという考え方であり、ある意味二つの言語が混在した状態にある。
この解説を読んでかなりすっきりしました。
「C & Object System」ですから、「Objective-C」より「Objective+C」とした方がよかったのでは?^^)
個人的には、「二つの言語が混在した状態」がすっごく気持ち悪いです。
なまじ「C」と冠しているため、C っぽいのかと思いきや、まるで Smalltalk ですし。
Smalltalk なら Smalltalk で全部すっきり記述しようよ、と言いたい。^^;
ある時は C、ある時は Smalltalk って紛らわしい!
調子よく Smalltalk の世界でコーディングしていたら、いきなり C の世界に引き戻されたり。
なんというか、こう、ギクシャクしながらコーディングしている感じになります。
記事の著者は、私が「気持ち悪い」と表現するこの状況をむしろ好意的にとらえて、
プログラマは問題領域に合わせて双方を使い分けることができるため、お互いの利点を活かしやすいのが特徴である。
と表現してます。^^;
ははは、この域に達するまではかなり修業が必要そう・・・。
Wikipedia によると、Objective-C は、現在は公的機関が仕様を管理している訳ではなく、Apple が全権を握っているのですね。
「Flash は Adobe プロプライエタリでオープンじゃない」
なぁんて、非難しておきながら、自分は思いっきりプロプライエタリじゃないか!^^;
Objective-C を知るにつけ、C++ がいかにうまく作られているか、感動すら覚えます。
C と C++ の間には何らの障壁がなく、まったくシームレスですからね。
構造体を拡張してクラスにするというアイデアに、ほんとに脱帽します。
メソッド呼び出しのパフォーマンスへの考慮など、システム記述や高級アセンブリ言語としての C 言語の性格をも十分に継承している点も素晴らしいです。
あれ?Objective-C の話のつもりがいつの間にか C++ 礼賛に。^^;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-