Objective-C

最近お昼休みにちまちまとObjective-Cの本を読んでるんだけど、なかなかおもしろい。もちろんお昼休みにMacは無いので読んでいるだけ。著者が良いのかObjective-Cがよくできてるのかわからないけど、読んでいるだけでおもしろさを感じる。不思議。この本はTiger時代に書かれているらしく、情報は古いかもしれないけど、Objective-C 2.0らしい。一部は1.0との互換性を考えている部分もあるそうな。
JavaとかPerlとかPHPとかRubyとかって新しいバージョンが出た!!みたいにけっこう話題になって新機能が追加されていくけど、C言語ってANSI Cで時間が止まってない?C99で作りました、とか言わないよね。言うのかなぁ。
そう思って調べてみたら、C言語コンパイラの対応があんまり進んでいないらしい。需要がないんだろうね。//コメントはだいたい使える、ぐらいなのかな。そもそも組み込みだから標準ライブラリを使わないからANSI Cに組み込み向け独自拡張で成り立っているだけか。AUTO変数の宣言はブロックの先頭だけ、っていう制限もC99ではなくなってるのね。__FILE__みたいに__func__っていうのもできてるらしい。関数名に置き換わる便利機能。for(int i=0;;) みたいなのもできる。配列の初期化とか構造体もこんなのができるようになってる。

 int arr[] = { [0] = 5, [3] = 10 };
 func(&(mystruct){5, 10}));