Android is not Java and it never has been.

One of the things I see over and over again is that people think the ills of Java are bestowed upon Android. Most people look at its latency issues and blame Java. They say the reason their phone is slow is because Android doesn't use native code.

Nothing could be further from the truth.

Android uses Java just as much as English uses Latin. Or French. Or any other language that we've borrowed words - called literals - from. Just as English is not French nor Latin nor any of those other languages, Android is not Java.

Android took many of the Java literals to begin with and added tons to the language. These literals that Google added are completely divergent from Java. They use the same diction and grammar, but aren't at all present in Java. If you take Android code, it will not run on a JVM. If you take pure Java, it will not run on Android.

Discuss.