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の記法はそれでもやっぱり異質(に見える)
今のところこの感覚が継続しています(^^;)。
というか、あまりに異質に見えるので、覚えるというよりは慣れるのに大変かもと思いました・・・。(^^;)
(ていうか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の記法はそれでもやっぱり異質(に見える)
今のところこの感覚が継続しています(^^;)。
というか、あまりに異質に見えるので、覚えるというよりは慣れるのに大変かもと思いました・・・。(^^;)
<<iPhone Developer Programの法人登録(その2) | ホーム | Macのマウスカーソルの動きに違和感を感じる時>>
コメント
No title
Re: No title
> >C言語との違いは、オブジェクト指向部分だけといって良いようです。
> DelphiとPascal程度の違いって感じですか?
今まででの所感では、大体そのような感じなのですが、Object Pascalの中のオブジェクト指向部分のコードは、すごくきれいにPascalと統一されてますよね。ところが、Objective-Cのオブジェクト指向部分の記法は、Cとはかなりかけ離れた、異質なものになっているので、まるで違う言語が埋め込まれているかのようです。。(^^;)
> 美味しい部分だけClass化して、設計が面倒ならCの生コードでベタベタ書ける・・・そんなイメージですかね?
これも基本的にはそうなのですが、iPhoneやMacOSXのフレームワークへのAPIが、Objective-C供給なので、ボタンイベントを受け取ったり、テキストコントロールに出力したりするなど、システムの機能をフレームワーク経由で普通に利用しようとした場合は、否応なしにObjective-Cコードを書かないといけなくなる感じのようです。(^^;)
ただ、確かに、それ以外の場合、たとえば、暗号化ルーチンなどの、いうなれば「完結する計算処理」などに関しては、Cでごりごり書くこともできますし、別ファイルにすれば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で書くってことになりそうかもですね。
中途半端に言語が混じってると移植の時も面倒だろうし。
また時々様子をお教え下さいませ。
なるほど~
そうでしたか。
こりゃ最後には結局全部Objective-Cで書くってことになりそうかもですね。
中途半端に言語が混じってると移植の時も面倒だろうし。
また時々様子をお教え下さいませ。
Re: No title
そうですね。。GUI部分のコードは、ほとんど、Objective-Cで書かないといけなさそうですね。。オブジェクト指向用語も微妙に意味付けが異なっているのが慣れるまで厄介そうです(^_^;)
コメントの投稿
トラックバック
| ホーム |
DelphiとPascal程度の違いって感じですか?
美味しい部分だけClass化して、設計が面倒ならCの生コードでベタベタ書ける・・・そんなイメージですかね?
まだ触り始めたばかりだろうから、あんまり聞かれても返事に困っちゃいますよね。
分かった範囲でお教え下さいませ。