Anybody who knows anything about programming knows that this is idiotic. They are requiring languages that are, by and large, old, slower to write in, and more prone to horrible bugs than many alternatives. As worded, it not only forbids better languages, it forbids bytecode interpreters and even language translators. The consensus seems to be that they are attempting to prevent Adobe from writing cross-compilers that target the iPhone, but they are doing it in the crudest possible way. The result is a growing revolt among developers, such as this declaration that Scheme is dead on the iPhone.
Mind, I think this was mostly a stupid mistake, and that Apple will quietly back down and say that this wasn't what they intended. (Which I think is probably somewhat true: I think everyone has gotten caught in the backwash of the Apple / Adobe war.) But it does illustrate the danger of Apple's "everyone will work exactly as we tell them to", highly-centralized mentality.
Paul Graham's article on the dangers of the App Store's approval process is right on target here: Apple seems to have forgotten (if it ever knew) how modern software development works. I mean, I find it pretty appalling that apps can spend weeks (even months) wending their way through the process for each version -- that's just a recipe to make sure that it takes too long for bugfixes to get into users' hands. I'm used to the Android side of things, where a typical Android app has two releases *per week*, and the turnaround time from a bug report to a fix is often 12 hours for the best developers.
When the Droid came out, the ads boasted a couple dozen reasons why it was better than the iPhone. But the one that got me was the development process, which just plain made more sense for getting great software. So far, I haven't seen any reason to change my mind about that: in the long run, I think it's a definite competitive advantage for the Android platform, and a reason why I think Apple is continuing to shoot itself in the foot...