DalvikからART

最近まで知らなかったが、Android 5.0 Lollipop からDalvikからARTに変更されていて驚いた。
中間言語インタプリタから、インストール時に中間言語からコンパイルに変更ということか。
コンパイラは開発者のパソコンではなくて、各ユーザーのスマホなどの端末にあるので、ARM、x86、MIPSのどのCPUでも動作するという利点は残る。
しかし中間言語を逆コンパイルされてしまうという開発者側の欠点も残る。
今までになかった欠点として、
・インストール時にコンパイルするのでインストールに時間がかかる。
・コンパイルした実行ファイルを保存するので、メモリディスク容量を多く消費する。
・今まで動いていたプログラムであっても一部のプログラムは動かなくなる。

利点は実行速度が速くなり、負荷も減るので電池の消耗も少なくなるかも知れない。

高速動作は解決するんだろうけど、中間言語形式で配布するのはソースを配布しているのに近い。
逆コンパイルされてしまうとソースが復元できるから。
開発者側としては、コンパイル済みの実行ファイルだけ配布したいんだけど。
それでマルチプラットフォームが失われても構わないという開発者は多いだろう。
まあ、Dalvik/ARMのプログラム開発をする予定は今のところはないから別にいいけど。
AndroidのプログラムはC++ Builderで作ったほうが早そうだ。ARM専用なのが難点だが。
これからAtomのAndroidがもっと普及するとしたら、やっぱりGoogle純正の開発環境のほうがいいのかも知れない。
Atomは普及しそうにないけど先のことは分からない。