Hm, well both iPhone and Android are meant to run apps on the Java platform. I know that Android at least made their own JVM interpreter that's leaps and bounds faster on a mobile platform.
I've heard of using C++ to make apps for iPhone, but last I checked you didn't have as many SDK resources available to you, and I haven't heard of -any- way to do it on Android (although I have seen a project to run Python, Perl, and other scripting languages on top of the Java runtime).
And, yeah, Android devices have more than just different flash memory and processing power. But at the very least every Android device has either a qwerty keyboard or a touchscreen (or both), and I know the SDK would let you check which are available. So on some Android devices the control could end up being like on PC.