The hardware is remarkably simple. It's the software that's tricky. It's nowhere near the level of insanity (all for good reason) you find on modern PCs where you boot without knowing how exactly you'll get to your RAM.
Mozilla has been developing a web browser that will make web development easier for web developers. They are going to be sharing it with world on November 10. Not a lot of info, but I'm excited.
Microsoft put Nokia into the ground with a single speech that obsoleted all of the phones that they had in the wild (and were still trying to get people to buy) for a phone that they hadn't developed yet.
The N900 and N9 were better than the iPhone, although that's not saying much.
Actually a lot of games are written in c# these days since that's what most unity developers use (and the other options are even less "lean").
I'd say c or c++ is only really standard in the AAA world, most casual/mobile/indie devs use higher level languages & engines (c#/unity, haxe, as3/flash, lua/corona, etc.)
I agree, that is why I smile every time I see the discussing of language X being too slow for game development, because of GC, bounds checking or whatever one comes up with.
As I am old enough to have lived through a few programming language generations accused of the same performance issues for game development, C included.
That's a "recent" development though :) The original title back in the day were all written in assembly, you really have to squeeze out every single byte and cycle for something like Pokemon or Kirby.
Because softwares are not the only one to use cycles.
For example, in the GB, some memory space is only adressable during a few cycles, and so you have to optimize your code when you wish to update the video ram. If you miss the window, too bad.