「iphoneのアプリを作りたい!」と思って、
Objective-Cの勉強を始める人は、最近になって急速に増えてきました。が、その多くは、そのあまりの難しさにあっという間に挫折してしまっているように思えます。
これは、
Objective-Cというプログラミング言語に対する捉え方の違いからきているように思えます。
Objective-Cというのは「
C言語のスーパーセット」なのです。要するにですね、「C言語というプログラミング言語に、いろんな機能を付け加えて強力にしていったもの」なのです。
ですから、「
Objective-Cを使う」というのは、イコール「C言語は既に使える」というのが暗黙の了解だったわけです(今までは、ね)。ですから、
Objective-Cの解説書やサイトを見ても、基本的に「C言語の部分はわかっている」ものとして書いてあります。つまり「
Objective-Cの説明=C言語に新たに付け加えられた、
Objective-C特有の機能の説明」なのですね。昔は、それで通用しました。――そもそも昔は「プログラミングを勉強する=とりあえずCを覚える」というのが普通でしたから、
Objective-Cを始める人は既にCの洗礼を受けているのが普通だったわけです。
ところが、最近になって「
Objective-Cを始めよう」と思う人の大半は、
C言語なんて知らない人ばかりです。プログラミング経験といえば、よくて
Java、普通は
PHPや
JavaScriptを少々ぐらい、中には「何一つやったことない」というような人まで増えてきました。――こうした人達が、「C言語はわかっているのが前提」という解説書を読んで、挫折しないわけがありません。
というわけで、これから
Objective-Cの入門をしていくわけですが、その前に「自分は、
Objective-Cから勉強したいのか、それともそれ以前の『C言語』の部分から勉強しないといけないのか」をよく考えて下さい。両者の切り分けの基準を、ざっと以下にまとめておきましょう。
◯基本的な文法から覚えたいプログラムの書き方、値や変数の使い方、計算の仕方、制御構文といった構文の使い方、配列やポインタ、構造体といったものの使い方――ここまでは、
Objective-Cではなく「
C言語」の部分です。これらがわからない人は、
Objective-Cの入門の前に、まず「
C言語の入門」をしておく必要があります。
◯オブジェクト指向や基本的なクラスから覚えたいオブジェクト指向の考え方、メッセージとかレシーバとかそういうものの意味や使い方、テキストとかさまざまなオブジェクトの基本的な使い方――こうしたものから覚えたい!と思う人は、まさに「
Objective-C入門」をスタートする人たちです。
◯iphoneで使うクラスについて覚えたいオブジェクト指向も、基本的なクラスの使い方もわかってる、
iphoneや
ipadのアプリで使われている「
UIKit」の使い方を知りたいんだ――そういう人は、既に
Objective-C入門を終わって、次の段階に進む人です。もう
Objective-Cの入門は不要です。
iOSのプログラミングについて勉強を開始しましょう。
◯Mac OS Xで使うクラスについて覚えたいオブジェクト指向も、基本的なクラスもわかってる、
Mac OS Xのプログラムで使う「
AppKit」の使い方が知りたい――そういう人も、既に
Objective-Cの入門を終わっています。
Mac OS Xのプログラミングについて勉強を開始しましょう。
もし、あなたが「基本文法から覚えたい!」と思っているなら、まずは「
C言語の入門」から始める必要があります。
libroでは「
Objective-CビギナーのためのC言語超入門(
http://libro.tuyano.com/index2?id=542002)という記事グループを用意しているので、そこでまずC言語の基本を覚えてから、改めてこっちに進みましょう。
そうした基本文法は覚えた。オブジェクト指向などの
Objective-C特有の事柄について勉強するぞ!という人たちのために、この連載を用意しました。
ここでは、
Objective-Cの基本的な文法や、
オブジェクト指向の考え方、そしてもっとも基本的な機能を提供する「
Foundation」フレームワークと呼ばれるライブラリ(のようなもの)に用意されている各種の機能の使い方についてしっかりと学んでいきます。