> especially since Android and all Android applications operate on Java, which is a notoriously slow platform
There are several things wrong with that:
* JIT'ed Java, in this day and age, is actually quite fast.
* However, Android doesn't really run on 'Java', but on Dalvik, their own VM, which probably does make it a bit slower until such time as they get around to giving it a kick in the pants and including a JIT or something else to speed it up.
I'm sorry. You're right. I was unsure about said statement, though my experience with android apps on the G1 was probably what made me feel that way. I somehow forgot that it ran Dalvik.
Making change as soon as I have access to a non-BlackBerry device (which is admittedly also Java.)
I had some annoying speed issues with 1.0 and 1.5, but 1.6 is much speedier. I think that ultimately, the hardware put in there is going to be the major determining factor of the device's and software's perceived speed, and luckily the open nature encourages an ecosystem of hardware that hopefully device manufacturers will end up competing and differentiating on.
Dalvik seems to work just fine. It also helps that Android doesn't use libc but their own custom-written version (bionic) that has a lot of the standard stuff (strcmp, memcpy) hand-written in ARM assembly. What does the JVM do?
Does it matter whether it's called Dalvik or JVM? I hope so (and yet doubt it), because Java on my Symbian phone equals slow and memory hungry.
It will also be interesting to see how the performance will be influenced by the fact that all the programs will be Java. On the desktop/server you can get away with a memory hungry Java app to gain speed, but on a device...
Google didn't have much choice with programming languages and API: Nokia bought Qt, .NET belongs to Microsoft, and that left them with Java. They should probably add a Python interpreter if they haven't already. Nokia has had reasonable success with this approach.
There are several things wrong with that:
* JIT'ed Java, in this day and age, is actually quite fast.
* However, Android doesn't really run on 'Java', but on Dalvik, their own VM, which probably does make it a bit slower until such time as they get around to giving it a kick in the pants and including a JIT or something else to speed it up.