iPhone 用の開発は Objective-C なのか。これまたマイナーな……。真っ先に思い浮かんだのが io だった自分もちょっとどうかと思うんだけどね。しかし最悪でも Java にしようとは思わなかったのかな。
もしかして全然興味が無いObjective-Cを覚えなきゃならないのかなあ。

思ったか思わなかったかはわからないけども、正直その選択肢は無かったか有ってもかなり可能性は低かったはず。Javaが良い悪いではなくて、iPhoneがMac OSXである以上、Javaをメイン開発言語として採用するのは変だから。

だって、Mac OSX自体がそもそももうCocoa-Javaのサポートをしてないから。Macのネイティブアプリ開発環境はObjCとCに完全にシフトしてるし、他言語とのブリッジはRubyCocoaやPyObjCなどLLの方面に力を入れている。つまり既に一度「ObjCなんてマイナーな言語はみんな使ってくれないから、Javaで書いてもらおうぜ → やっぱMac OSXはObjCだよObjC」っていう道を辿ってるんだよね、Appleは。

仮にJavaをiPhoneの開発言語にするとしたら、一度は捨てたCocoa-Javaを無理矢理掘り起こしてくるか新しく作り直すかして、ただでさえリソースがタイトなiPhoneにJavaVM+iPhoneUI用のクラスライブラリを載せなきゃならなくて、そのコストを支払ってまでJavaにするメリットがあるかと言うと微妙。「Java開発者がiPhoneアプリを作り易い」よりも、「iPhoneのアプリを作りたいからObjCを勉強する」って人が増えてくれる効果の方がAppleにとっては嬉しいはず。というか、それだったらどうせならRubyCocoaやPyObjCを載せるんじゃないかなーと思う。

何より、マイナーマイナーとは言うけども、現実に「Mac OSXはObjCをメインの言語として採用」してるわけで、Macアプリ開発者は数はそう多くないけどそれなりにはいる。少なくとも今やObjCはもう「誰も知らないし、誰も使ってない」言語じゃない。それにObjCはあれで結構使い勝手が良いし、Cocoaもかなり強力だよ。あのダイナミックさ加減とか、Smalltalkっぽい文法とか、慣れると面白くなってくる。要するにObjC可愛いよObjC。

まとめると、

  • JavaはMacOSXにとってはそんなに重要な位置を占めてない
  • リソースのタイトなiPhoneにJavaVM+Cocoa touch互換クラスライブラリを載せる余裕は無さげ
  • というかObjC可愛いよObjC

ってことで全然興味が無いとか言わずに「マイナーな」Objective-Cでもいじってみてはどうでしょうか。