ホーム > タグ > Objective-C

Objective-C

Objective-Cを覚えたい

iPhoneアプリを開発したいのだがなぁ。

資料がまだ少ないのと、手続き型プログラムしか書かないのと、そもそも私の頭が残念な頭なのでなかなか先に進めません。

そんな中でも少しずつ資料を買い足したりしつつ、こうして覚えていくのがいいのかな、と思ったところを書いてみようと思います。
すんなり覚えちゃった人には戯言ですが、同じような状況の人には役立つところがあるかも知れません。
「プログラムとかよくわかんないけどiPhoneアプリつくりてぇ」という人がイキナリ「詳解 Objective-C」とか、Apple公式ドキュメントにいくと、まず挫折すると思う。

  • なんかプログラム書いた経験があったほうがいいし、ないなら書いてみるといい。手続き型でいいから。今からどうせやるなら、Objective-Cにも生かせるCとか。最近は解説書も易しいし多いし大丈夫。ひとつ言語をやってれば、大抵の言語では基本的な要素は共通してるから、他の言語でもOK。でも、難しいところまで覚えなくていい。
  • 基本的なプログラミングを覚えたら、次はオブジェクト指向でプログラムを書いてみるとか、書き直してみる。もし慣れた言語があるなら、それで覚えるといいと思う。本とかで意味や概念を知ってても、普段オブジェクト指向で実際にコード書いてみないと理解できない
    ただ、オブジェクト指向に弱い言語もあるから注意。最初にCから入ったなら、せっかくだしそのままObjective-Cにいってもいいかも(ネット上探せば資料あるし)。Javaとかやってる人はいいですよね。
  • Xcodeとか、Cocoa Touchはその後使い方覚えればいいと思う。一緒に解説してるのはどうも言語の解説が薄くなりがちだし、そもそもこれらを使いはじめるのは、オブジェクト指向プログラムを書き始めるよりも何倍もとっつきやすい。あとは、複雑な機能は順々に覚えていけると思います。

んな感じかなぁ。
オブジェクト指向ってとっつきにくいんですよね。大概の高級言語は書き方やクセに違いはあれど、基本的な構文とかはそんなに大差ないし、次の言語へのつなぎとして覚えるだけならそんなに難しくはない(プログラムで難しいのは言語そのものじゃなくて、処理とかだから)。
でも、オブジェクト指向は言語を覚えた上で、現実にはない独特の概念に沿ってプログラムを書くと色々いいですよー、というメソッドなので、いきなり言語すっとばしても覚えられないと思う。普通の人は。だから別に集中してやったほうがいいと思う。

あとは

  • コードは実際に書いて動かす(とりあえず写すだけでも何となく『ココでこうしてるんだ』と気づいたりすることもあるし、何より書かないと覚えられない)
  • 本や資料はケチらない。個人的に、1冊でなんとか覚えようとしてわからなくても、同様の本を数冊持っていると、書き方のクセとか表現の仕方が著者によって違うので、わからない部分を読み比べてるうちに分かってきたりすることがあります。
  • 「○○日で分かる」とかはあくまで基礎習得が○○日なだけです。特に、1週間とかでゲームプログラミングとか高度なことやってる本とか、やたら薄い本とかは、大抵大事な部分をすっとばしているだけで、実際にその本だけ読んでゲームが作れる、とかはまずないです。
    本当に覚えたいのなら、そういう本を読んで挫折するよりも、ある程度分厚くて「うわ…」と思うくらいの本のほうがいいです。そのほうが少しずつ進んでいくので、途中でわからなくなることが少ない。

まあ本選びは向き不向きもありますが、最初にどれ買ったらいいかわかんない、というときは、ケチらずに気になった本は数冊買っておくといいと思います。最初に買ったときワケがわからなくても、後でスキルアップしたときにすごく重宝したりするので。

最後に、細かい言語解説とかは他に譲りますが、Objective-CってイキナリXcode上でなんかアプリケーション作りだしたり、とにかくワケわからん資料も多いので、こちらを参考にObjective-C版のHello Worldに、コメントつけてみました。オブジェクト指向がおぼろげに分かりだしたら、上記サイトとあわせて見てもらうと「なんだ簡単じゃん」ってなると思います。

あ、ちなみに私はLinux上でコンパイルしてますが、MaxOS Xのgccコンパイラ(Xcodeの中身みたいなもんなので、ターミナルから使えます)でもできるはず。以下のコードを書いて

gcc ファイル名 -lobjc

とやれば、a.outというファイルができると思います(ファイル名はtest.mとかで)。それを

./a.out

で実行してあげると、文字列が表示されるプログラムです。
Objective-C HelloWorld
んでは、私も含めてがんばって覚えましょう。

Home > Tags > Objective-C

Search
Link
Feeds
Meta

Return to page top