Development Toolchain: Status unknown (i haven't tried installing anything yet. should work great under linux)
C++ Interface: Java is heavily promoted, i don't know what's up with C++
So my only choices for smartphone development are Objective C or Java? Seems like a lose-lose situation to me. Why can't I use native C or C++ on either of them?
You can use native C/C++ for both of them, except in certain places. The UI layer, for instance, has to be done using the native language on either platform (objc or java).