Android has always held a weirdly ambiguous position in regards to Sun’s official Java. On the one hand, applications written for Android are written in Java code, and so the platform’s popularity can only help reinforce Java’s popularity among developers. On the other, Android’s VM is based on Apache’s non-Sun-certified Harmony, which means it doesn’t carry the Java brand (and the lucrative licensing fees that go with it); in addition, because Harmony is a tweaked Java SE implementation, code written for Android doesn’t match up with the Java ME standard that Sun would like to see be the default for mobile device development. It’s no wonder Sun’s official Java ME bloggers tend to slag on it.Because of all this, Android isn’t that tied into Java as an aspect to its identity, despite the buzz about its appeal to Java programmers when it was first announced; after all, it’s not really so much a “Java phone” as it is a Linux phone. That’s why Google can take steps like the one announced last week, which will open up Android to C/C++ code running on the phone’s processor. Now, this is admittedly just based on the JNI functionality already in place in most Java SE implementations, but it could be the start of a trend. It’s also worth noting that Google is releasing a scripting environment that will allow developers and even end users to run Python and Lua code on Android. It also seems that other VM languages are coming; IBM’s developerWorks has a tutorial on running Scala apps on your Android phone.It’s possible that Android would have taken this road eventually anyway — after all, the appeal of a Linux-based system is its flexibility. But I can’t help but think that Android was a lost opportunity for Java, and is becoming more so by the day. Technology Industry