Does anyone have good insight for why i-phone doesn't mainly use c, but objective c and android doesn't mainly use java, but primarily is based on an sdk?
These issues tend to frustrate me when trying to write cross platform code. It just seems silly that when a new phone comes out, there is some language to learn that ends up being a pain to use.
The reason that the iPhone uses Objective-C is due to the fact of legacy. The Mac uses Obj-C, and the iPhone OS is basically an extension of the Mac OS. At least you only have to use Obj-C to interface with the iPhone specific libraries, the rest can be in C/C++.
I think that Apple took over NeXT (who did a lot for Obj-C) some years ago. We are doing a lot of stuff in Obj-C where I work, and when you get used to it it's OK. Can also be developed for Windows (guess what - our main OS ) using the gcc.