ClockRoom

Javaである必要性 | 運営ノート

Javaである必要性

仕事をしていてつくづく思うのだが、なぜ NTT DoCoMo の携帯電話端末用アプリケーション規格「iアプリ」の開発言語はJavaなのだろうか?

Javaといえば、C++をもとに考案された完全なオブジェクト指向モデルの言語である。 Javaでアプリケーション開発を行なうのなら、最低限、言語仕様ともいうべきオブジェクト指向モデルには従うべきであり、それに従わないことはかえってプログラムを複雑にしてしまう。 これに限らず、言語が備える機構には素直に従ったほうがよい。

ところが、オブジェクト指向モデルによるiアプリの開発は一般的にタブーとされている。 なぜなら、アプリケーションサイズを肥大化させるオブジェクト指向モデルは「アプリケーションサイズの限界が30KB」というiアプリの制限によって贅肉扱いされてしまう。 クラスもメソッドも増やさずに長々と書いていけばアプリケーションサイズはそれほど大きくはならない。 逆に、オブジェクト指向モデルに従えば従うほどアプリケーションサイズは2倍、3倍へと膨れ上がり、30KBなどはあっという間に埋め尽くしてしまう。 結局、サイズ制限を優先に考えるとメンテナンス性は後回しという図式が成立してしまうのである。

では、iアプリの開発言語がJavaである必要性は一体なんなのか? 他の携帯電話端末との互換性があるわけでもなし、Javaの特性を活かせない環境下でJavaを用いる必要性が全くわからない。 ベタ書きを強いるのならBASICでも全然構わないはずである。 いや、むしろそのほうがよい。 実は、Javaを用いることで専用コンパイラなどの開発をカットしたかったのではなかろうか? Javaを用いれば専用コンパイラなどをドコモが自前で用意する必要はなくなり、ライブラリの提供だけで事足りてしまう。 もしそうだとしたら、全く迷惑な話である。

コメント

名前
内容
送信

※URLを含むコメントはできません。