>>23
>規模小さければ、速度必要なソフトでもC++選ばないっていうことですか?
別にC++を選んでもいいし、Hello World. を表示するだけならC++でなくてもいいだろう。
だが、Androidの場合はマルチCPUだから事情が異なってJava CPUという仮想のネイティブCPUがあると仮定しているんだ。
もちろん、開発者がそれを無視してC/C++を使うのも自由だし、実際よく使われているけどね。
Androidは、ARM Intel Atom、MIPSなどいろんなCPUがあるからね。
AndroidタブレットAtomが増えてきているよね。
MIPSのAndroidなんかねーよとか思うかも知れないけど、少なくとも過去にあったな。
http://juggly.cn/archives/47873.html
Atomの場合は、非JavaソフトをARMからAtomに変換する技術(バイナリトランスレーション)を使ってAtomでも動くようにしているらしいけど
変換できないソフトもあるし変換できてもパフォーマンスもいいかどうか分からない。

残念ながら、Androidに完全に対応するのはJavaだけで、C/C++でもC#でも各CPUにコンパイルしなおさなければ動かない機種が存在するということ。
かといってコンパイルし直す開発環境を用意できなかったり面倒だったりして、CPUの種類ごとにコンパイルするこは少ない。
どちらにしろ、AndroidでJavaが使われる場合があってもC#は採用しがたい。
Java仮想マシンはAndroidにとっての仮想ネイティブCPUなんだから。
だからJavaで作れられたAndroidソフトはネイティブソフトと呼ばれる。