MacOSXは、アップルコンピュータのカリスマCEOスティーブ・ジョブズがかつて率いたNeXT社がNEXTSTEP(後にOPENSTEP)で培ってきたオブジェクト指向技術を活用している。このNEXTSTEP(OPENSTEP)の開発言語がObjective-Cである。MacOSXの基盤となるCocoaAPIもOPENSTEPの主要なAPIを引き継いでいるため、アプリケーションソフトの開発者にとってはObjective-Cの知識は必要不可欠というわけだ。(Cocoaについてはオライリー社の『Learning Cocoa』が詳しい)
Objective-Cには、この言語独自のオブジェクト指向論が反映されているため(C++とも似ているようで異なる)、本書の第1章ではまず、一般的なオブジェクト指向の概念を説明した後で、Objective-C独自のプログラミング規則について解説している。C言語と比較しながら解説されているので、C言語を扱う人なら理解するのにさほど時間はかからないだろう。また、C言語を知らない人、あるいは勉強したが忘れてしまった、という人のために、「C言語の復習」と題した付録も用意されている。
第2章~4章では、Objective-Cで簡単なクラス定義を行う方法、クラスの継承、そしてObjective-Cの大きな特徴となっているオブジェクトの動的結合について解説している。第5章~6章ではCocoaのルートクラスであるNSObjectに備えられている機能と、実行時環境であるランタイムシステムの関係について説明している。第7章ではFoundationフレームワークの中でも特に重要な文字列、データ、配列、辞書などのクラスについて解説している。第8章では例題として、トランプのババ抜きを計算機上で実行する方法と、具体的なサンプルソースが掲載されている。第9章以降は、大きなクラスを複数のモジュールに分割して定義する方法や、抽象クラス、クラスクラスタ、プロトコル、ゾーン、オブジェクトのコピー、デリゲートと通知、GUI部品と自作オブジェクトの連携、例外処理、NSThreadを用いることでスレッドを生成する方法、Cocoa環境で分散オブジェクトを実現する方法など、やや高度な内容が解説されている。
さらに知識を深めたい人向けには関連書籍やWebサイトのリストも掲載されている。全体的に図やサンプルソースを上手に配置しており、解説も平易な言葉遣いでわかりやすい。Objective-Cの入門書としては非常によくまとまった良書である。(笹淵 剛)
登録情報
|
類似した商品から提示されたタグ(詳細)関連タグ(この商品に近い関連キーワード)を追加する++最初のタグになります
|
Cocoaプログラミングの学習としては、いわゆる『入門書』の次に読むべき本だと思います。
~~
入門書を読みつつあまり詳しい説明を受けないまま何となく作ってみて、自然に湧き出てくる疑問や、入門書に書かれていないような根本的な言語仕様などが知りたくなったらおすすめします。今まで知らなかった、「なるほど!」と思うことや欲しかった情報がたくさん載っています。
~~
本の構成がすこし洗練されていないので、まずは一通り最初から読んでゆき、読み終えてからは索引を利用してリファレンス的な使い方をすることになるでしょう。
~~
問題点があるとすれば、冒頭のオブジェクト指向に関する説明はおそらく理解できないだろうこと(別の書籍をお進めします)、章末にまとめのようなつもりで紹介されているプログラムがあまり参考にならないこと、著者の職業柄(?)例や表現に基本情報処理資格に合格できるくらいの知識レベルが要求されること、参照先の紹介がイマイチなことでしょうか。
~~
しかし欠点は本の内容に比べれば、些細なことです。それほどにこの本の価値は高いです。Cocoaプログラミングをするには必ず購入しなければならないといっても過言ではないと思います。~
UNIXプログラミングなどを通じてC, C++, Javaを習熟した人でも、おそらく初めてコードを読むと馴染めないと感じられる部分が少なくないでしょうが、本書を参考書として利用して、他のCocoa関連の書籍を読み進めていけば、きっとMac OS Xを自在に操る楽しさを堪能できる桃源郷にたどり着くことができるでしょう。個人的にObjective-Cに対しては、CのパワフルさとJavaに代表されるオブジェクト指向の効率性の両者を兼ね備えたすばらしい言語だという印象をもっています。
上に挙げたように、本書は決して門戸の広い物では無いと思うが、Objective-C特有の機能を解説する度にそれを実験するサンプルを示してくれるし、概念の解説が分かりやすいので「ひどく難解な」物でもない。決して「プログラム初心者を突き放す」内容では無い事は確かだ。
Foundationフレームワークの解説も詳細で、資料的価値も非常に高いと言えるのではないだろうか。
|
|