2009-10-05-01-林檎の樹の下で - project-enigma

2009-10-05-01-林檎の樹の下で

>> Site top >> weblog >> 月別アーカイブ >> 2009年10月のlog >> 2009-10-05-01-林檎の樹の下で

最終更新日付:2013/12/31 07:36:26


林檎の樹の下で

2009 年 10 月 05 日

言語を3つ跨いでいる。iPhone OS のフレームワークが使用している Objective-C と、自分のネイティブ言語である C++ 言語、そして、それらの共通の祖先である C 言語だ。

幸い、Objective-C は直接 C++ を扱うことができるため、生の C を使う必要はあまりない。しかし、C++ のインターフェースを Objective-C 側で実装したり、逆にObjective-C の protocol を C++ 側で実装したりする方法はどうやらないっぽいため、そこで生の C の関数インターフェースで繋ぐことになる。Objective-C についてはまだ学習途上のため、何ができて何ができないのか、あるいは何が効率的で何が非効率なのかがわからない。だからイチイチ手探りになる。

それにしても、Objective-C というのは奇妙キテレツな言語だ。おっと、慣れない人間が言うことなのでどうか文句は言わないで欲しい。きっと慣れれば快適なんだろう。とてもそうは(現時点では)思えないが、無理に自分にそう言い聞かせている。

それよりも奇妙なのは、Objective-C が公式開発言語になっている、という事実だ。これも「林檎の樹の下」効果というやつだろうか。つい最近まで、Objective-C はSmalltalk 系の動的オブジェ指向カルト集団だけが使い続け、すでにワシントン条約で保護されるくらいの絶滅危惧種になっているという認識だった。まぁ言い過ぎなのは認めよう。しかし、これから世の中に広めていこうというモバイルプラットフォームにこの言語を採用するということ自体、それくらいの暴挙だと思っている。iPhone OS 向けアプリケーションの開発を始めるにあたって、初めて Objective-C を学んだ、というプログラマの比率を調べてみれば、陰郎の言っていることがあながち暴言ではないということがわかるだろう(と勝手に想像している)。

で、林檎の樹の下の話だ。陰郎はたしかに iPhone OS 向けアプリの開発に参加した。しかし、それだけを作るつもりはない。PC 向けもやりたいし、これまで通り Palm 向けもやりたい。林檎の樹の下にずっと居続けるわけではないのだ。そう考えると、Objective-C にあまりどっぷり漬かりたくないと思うのは自然なことだろう。Objective-C というのは、近代的なプログラミング言語の世界でいえばガラパゴス諸島にしか生息していない動物のようなものである。その狭い世界から出ていけば、本か動物園でしかお目にかかれない(まぁこれも言い過ぎだよね。わかってるってば)。だから、自分が開発するアプリケーションは、全てを Objective-C で書く気にはとてもなれない。要するにそれが言語を跨ぐ理由だ。

言語やプラットフォームを跨がる場合は、色々な気苦労があるものだ。Palm で ARMletを書いていたときは、68K エミュレーションと ARM チップの違いを意識して不格好なプログラミングを余儀なくされたし、ARMlet は大域が使えなかったから C++ の例外処理や多態も使えなかった。今もまた同じようなことをしているのだ。今はアプリケーションのコア部分を C/C++ で書き、Palm OS と iPhone OS の両方で使えるようにしようとしている。楽しいのかどうかは、イマイチわからない。

 

コメント

このページにコメントする

 

このページのタグ

Page tag : iPhone OS

Page tag : 開発

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.