今日iPhoneアプリの入門セミナーを聞いてきた。
必然的にobjective-cのソースコードに触れることになりました。
objective-cのソースコードを初めて見た。
(お願い:以下、acxの私見です。間違いや意見はこっそりacxさんが傷つかな程度にコメントしてください。)
objective-cとは
・C言語ををベースにした、オブジェクト指向言語
・Cのライブラリが使える
・C++とは体系が異なる
・SmallTalkに強い影響を受ける
・主にAppleのプラットフォーム上で使われている。
・Steve Jobsが経営していたNeXT社が作った言語
・iPhoneの開発は、主にobjective-cで作成。
というのが、objective-cの特徴です。
ソースコードを見た感じは、
C言語の手続きの煩雑さとオブジェクト指向の融通の聞かなさをあわせ持った感じ。
あわせてメソッドの呼び出し方や引数の渡し方が独特。
ステートメントが長くなるキライがある。
メモリの管理をプログラマがするから面倒。
メモリの確保が固定長と可変長のタイプのメソッドと対になっている。
(たしかにメリッドがあるけど、Stringぐらいは一つにまとめられなかったのかな?)
ついでにメソッドの名前に自社の名前をつけている。。。
そんな言語をAppleはiPhoneアプリ作成にこのobjective-cを強要するわけだよね?
セミナーを聞いていて、ムカムカしながらソースを眺めていました。
初めてobjective-cのソースコードを見たから、
objective-cの良さとか開発効率などまったく知らないボクが
無責任に初見を書きましたが、、、面白そうな言語のような気がする。
同じ勉強をするのならば、オブジェクト指向言語の始祖である、Smalltalkを勉強した方がメリットがありそうな気がするのだけど、、、一見欠点の多いobjective-cの方が魅力を感じてしまうのはiPhoneアプリ作成に指定されている言語だからというだけではないような気がします。
C言語の流れをどれほど受け継いでるのかとか?
すべてオブジェクトで制御できるのか?
どれだけ省略してコーディングできかとか?
縛りがキツそうだけど理にかなっているのかとか?
文句をツラツラ書いたけど、objective-cは魅力を感じる言語ではあります。
なんで魅力を感じるのか知りたいからしばらくしたらobjective-cを勉強してみたいな。
でも、、、なんか勉強するのに結構お金が結構かかりそうな気がするOTZ
コメントする