MacやらiPhoneでプログラミングをする場合、CやC++、はたまたJavaなんかを思い浮かべる時代はとうに終わったそうです。。
それを突きつけられたのがこの前バージョンアップしたOS、Mac OS X Snow Leopard。
これに対応したIDE(開発環境)であるXcode 3.2のテンプレートから、C/C++用のCarbonと呼ばれる環境用のテンプレートが無くなり、Javaなんかは結構前から無かったり、PythonやRubyもサポートされていたようなんだけど、それも削除。

マカー系プログラマに残された道はObjective-CベースのCocoa環境しか無いわけですよ。
んじゃ、やっぱ勉強しますか。
CやC++でさえ怪しい身分ですが。。。
まず、お勉強するにあたっての当方の環境とか。
エディターについてはGvimを使います。
正確に書くとMacVimです。
(フォント綺麗だよ:-D)
まぁ、この辺りは適宜好きなエディタ使って下さい。
コンパイルはコマンドラインで。
当面はObjective-Cのお勉強なので、当面Xcodeは使ったり使わなかったり、です。
Cocoaのプログラミングに入ったらあり得ないスピードで覚える予定です。
ですが、Xcodeはインストールしておいて下さい!
インストール方法はちょっとググって下さい。
どうやらUnix界隈では有名なGCC(GNU Compiler Collection:グニュー・コンパイラ・コレクション又はグヌー・コンパイラ・コレクション)を使うようです。
まず、Terminal.appを立ち上げましょう。
「ユーティリティ」と言う場所に入っています。
見つからなければ「アプリケーション」>「ユーティリティ」で辿って下さい。

で、起動した感じがこんな感じになるはずです。

色の違いこそあれど、大体こんな感じのはず。
では、
pwd
と打って下さい。
preマシン名% pwd /Users/名前
と言った感じになるはずです。
そこが今いる場所です。
以後、マシン名McLarenとします。
(理由は自分のマシンがMcLarenと言う名前だからです。。)
ちなみに、「%」なのは気にしないで下さい。
気になるなら「シェル」と言う言葉を調べた後に、「zsh」で検索してみるといいかもしれません。
では、作業用ディレクトリ(フォルダ)を作りましょう。
まず、現在見ているディレクトリにどんなディレクトリ/ファイルがあるかを見てみましょう。
「ls -al」と打ってみて下さい。
McLaren% ls -al total 472 drwxr-xr-x+ 57 ユーザ名 staff 1938 10 14 15:58 . drwxr-xr-x 6 root admin 204 9 27 22:37 .. -rw------- 1 ユーザ名 staff 4 7 16 2008 .CFUserTextEncoding -rw-r--r--@ 1 ユーザ名 staff 24580 10 14 11:33 .DS_Store drwx------ 5 ユーザ名 staff 170 10 13 23:22 .Trash (省略) drwx------+ 22 ユーザ名 staff 748 10 14 16:05 Desktop drwx------+ 25 ユーザ名 staff 850 10 8 20:13 Documents drwx------+ 132 ユーザ名 staff 4488 10 14 11:33 Downloads drwx------+ 46 ユーザ名 staff 1564 9 28 17:33 Library drwx------+ 7 ユーザ名 staff 238 9 8 23:32 Movies drwx------+ 6 ユーザ名 staff 204 2 7 2009 Music drwx------+ 26 ユーザ名 staff 884 8 23 12:59 Pictures drwx-wx---+ 6 ユーザ名 staff 204 7 27 2008 Public drwxr-xr-x+ 6 ユーザ名 staff 204 10 5 2008 Sites
こんな感じになったのではないでしょうか。
ここにドカドカ置くのもアレなので、Documents内に置くことにしましょう。
「cd(change directory:チェンジ・ディレクトリ)」コマンドでDocumentsへ移動します。
McLaren% cd Documents McLaren% pwd /Users/ユーザ名/Documents
pwdで移動したかもちゃんと確認しました。
「source」と言うディレクトリをここに作ります。
その前にそのディレクトリが無いかを確認しましょう。
もしあったらややこしいので、別の名前にした方がいいかもしれないです。
確認した想定で作ります。
「mkdir(Make directory:メイク・ディレクトリ)」コマンドでディレクトリを作ります。
McLaren% mkdir source McLaren% cd source McLaren% ls -al total 0 drwxr-xr-x 2 ユーザ名 staff 68 10 14 16:27 . drwx------+ 26 ユーザ名 staff 884 10 14 16:27 ..
sourceディレクトリを作成し、そこへ移動。
更にそのディレクトリの中身を確認しました。
2つファイルがあるように見えますが、「.」と「..」はファイルでもディレクトリでもありません。
「.」は現在のディレクトリ、「..」は一つ上のディレクトリを意味します。
当然、このディレクトリを作ったばかりなので中身はカラです。
一旦Terminalの作業は終わりですが、開いて置いて下さい。
すぐ使うので。
ここまでディレクトリを作ったり移動したり、知らない人には分けわからん&知ってる人にはさっさと進めろよ的な感じだともいます。
また、フォルダは当然Finderからでも作れます。
と言うか、そっちの方が便利です。
ただ、コマンドに慣れるのはいかがですか?と言うおせっかいです:-D
ちなみに、コマンドラインの時は「ディレクトリ」、FinderなどのGUIの時は「フォルダ」とついつい書いてしまうのですが、これは癖なので、同一のものとして許して下さい。
あんまり直したいとも思わないので。。。
さて、お待たせしました。
コードを書いてみましょう。
Finderからフォルダ(ディレクトリ)を辿って行きましょう。

そこに「test.m」を作成して下さい。
出来たら下記コードを書き込んで下さい。
(シェル上で使えるエディタを使って編集できる人は直接弄ってもらってかまいません。)
#import <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
完成したプログラムを入れるため、Documentsの中に「exe」と言うディレクトリを作りましょう。
Terminalが先ほどのままだとします。
McLaren% cd ../ McLaren% mkdir exe McLaren% ls -al | grep "exe" drwxr-xr-x 2 ユーザ名 staff 68 10 14 17:36 exe
「ls -al | grep “exe”」と言うように、ls -alの次に「|(パイプライン、日本では面倒なのでパイプと呼ばれる)」で別のコマンドに繋ぐことが出来ます。
「grep “exe”」と言うコマンドで「exe」と言う文字列が入っている行を取り出してくれます。
では、コンパイル(ソースコードを機械語に変換)しましょう。
McLaren% gcc -o ../exe/my_first_program test.m -framework Foundation McLaren% cd ../exe McLaren% ls -al total 24 drwxr-xr-x 3 ユーザ名 staff 102 10 14 17:47 . drwx------+ 27 ユーザ名 staff 918 10 14 17:36 .. -rwxr-xr-x 1 ユーザ名 staff 8704 10 14 17:47 my_first_program
何のエラーも無く、ファイルも作られているので、どうやらプログラムが出来た様です。
実行してみましょう。
McLaren% ./my_first_program Hello world!
同じディレクトリ内にあるファイルを実行する時は、必ず頭に「./」を付けて下さい。
でないと、このファイルを実行してくれません。
「Hello world!」と表示されたら成功です。
「Hello world!%」みたいになっちゃった人は
printf(“Hello world!\n”);の\nを入れ忘れたのでしょう。
ソースコードを良〜く確かめてから、もう一度コンパイルしてみて下さい。
gccの使い方とか諸々は日が暮れたのでまた今度と言うことにしておいて下さい。。。
(そもそも詳しくないので。)
とまぁ、ダラダラ無駄に長い感じになりましたが、準備はできました。
ちなみに、さっきのコードはほぼCです。。
せいぜい#includeが#importになっている程度なんで、実にアレなんですけどね。
次回からはもっとがんばりたいです。
ではまた。