FC2ブログ

Objective-Cについて分かったこと

Objective-Cを勉強していて分かったことをいくつかメモっておきます
(ていうかMac初心者のユーレカです^^;):

Objective-CはCのスーパーセットである

 Objective-Cって、Cのスーパーセットなんですね・・・。なので、C++のように、Cを含んでいるわけです。

この間、Objective-CでC言語が使えるぜと思って喜んで記事に書きましたが、当然すぎることがわかりました・・・。(*^^*)

Objective-Cは今のMacOSXの標準言語である

 MacOSXになった時に、NexTSTEPからObjective-Cベースのフレームワーク(Cocoa)を受け継いだものらしいです。だからiPhone開発言語という以前に、MacOSXの開発言語なんですね。

Mac(Cocoa)の開発者はきっと、iPhoneでCocoaが一躍、脚光を浴びたので喜んでいることと思います。

Objective-Cにはヌルポエラーがないらしい

 無効(nil)なオブジェクトにアクセスすると、クラッシュしたり例外を吐いたりせずに0が返ってくるそうです。Javaでヌルポ漬けになったりした人には朗報です。(違うか・・・。^^;)

Objective-Cはオブジェクト指向部分

 というか、純粋な言語面でいえば、C言語との違いは、オブジェクト指向部分だけといって良いようです。(もちろん、フレームワークに関して覚えることは沢山あります。)

Objective-Cの記法はそれでもやっぱり異質(に見える)

 今のところこの感覚が継続しています(^^;)。

というか、あまりに異質に見えるので、覚えるというよりは慣れるのに大変かもと思いました・・・。(^^;)

コメント

No title

>C言語との違いは、オブジェクト指向部分だけといって良いようです。
 DelphiとPascal程度の違いって感じですか?
 美味しい部分だけClass化して、設計が面倒ならCの生コードでベタベタ書ける・・・そんなイメージですかね?
 まだ触り始めたばかりだろうから、あんまり聞かれても返事に困っちゃいますよね。
 分かった範囲でお教え下さいませ。

Re: No title

> >C言語との違いは、オブジェクト指向部分だけといって良いようです。
>  DelphiとPascal程度の違いって感じですか?

今まででの所感では、大体そのような感じなのですが、Object Pascalの中のオブジェクト指向部分のコードは、すごくきれいにPascalと統一されてますよね。ところが、Objective-Cのオブジェクト指向部分の記法は、Cとはかなりかけ離れた、異質なものになっているので、まるで違う言語が埋め込まれているかのようです。。(^^;)

>  美味しい部分だけClass化して、設計が面倒ならCの生コードでベタベタ書ける・・・そんなイメージですかね?

これも基本的にはそうなのですが、iPhoneやMacOSXのフレームワークへのAPIが、Objective-C供給なので、ボタンイベントを受け取ったり、テキストコントロールに出力したりするなど、システムの機能をフレームワーク経由で普通に利用しようとした場合は、否応なしにObjective-Cコードを書かないといけなくなる感じのようです。(^^;)

ただ、確かに、それ以外の場合、たとえば、暗号化ルーチンなどの、いうなれば「完結する計算処理」などに関しては、Cでごりごり書くこともできますし、別ファイルにすればC++でも書けるようです。(^^)

No title

>APIが、Objective-C供給なので
 なるほど~
 そうでしたか。
 こりゃ最後には結局全部Objective-Cで書くってことになりそうかもですね。
 中途半端に言語が混じってると移植の時も面倒だろうし。
 また時々様子をお教え下さいませ。

Re: No title

そうですね。。GUI部分のコードは、ほとんど、Objective-Cで書かないといけなさそうですね。。オブジェクト指向用語も微妙に意味付けが異なっているのが慣れるまで厄介そうです(^_^;)

コメントの投稿

トラックバック


この記事にトラックバックする(FC2ブログユーザー)