This is where he goes wrong. Using multiple layers of abstraction has always been a win for programmers, and not just for compatibility across platforms.
This move by Apple is equivalent to IBM saying in 1970 that programmers couldn't use high level languages-- that they had to write programs only in IBM 360 machine language. The loss would not have been only in portability.
I think their loss is about to be in the form of an exodus of developers.
Plus, they have so many apps, even if they lose a lot of their high-quality developers, that'll probably just be a tiny blip when it comes to total apps being submitted. It might take a long time to notice that the quality of apps has gone down, since it's so hard to quantify, and there no doubt will still be some quality apps. And them noticing quickly is what we need so that they'll reverse this rule.
This was true when an exodus from Windows started. Windows still has a lot of committed talented developers, but it is also true that a lot of developers moved away from Windows and it hurt them long term.
"It might take a long time to notice that the quality of apps has gone down, since it's so hard to quantify, and there no doubt will still be some quality apps. And them noticing quickly is what we need so that they'll reverse this rule."
I personally would hope that Apple does not change this rule for years (and add more dickhead rules) till a more open/dev friendly competitor has sucked up all the devs who move away and achieves critical mass.
Don't distract your opponents (and evil people in general) when they are doing something stupid.
But the reason the iPhone became popular is not because there was a very high quality app version of wolfram alpha or a gold game, but because there were reasonably good quality apps (at a good price) that scratched relatively small, (dare I say it?) long tail, itches.
You can be relatively sure as a new iPhone owner that you'll be able to find your fishing lure guide app, or your app to order emergency socks or whatever. I'm willing to bet that lots of those apps were not written in one of the approved national languages of the Union of Soviet Apple Orchards.
You can be sure that if Unity games are taken out of the app store, people will notice.
Which just shows that some people go to great lengths to explain Apple's anti-competitive behavior ... "it's OK, it doesn't affect me" ... maybe not in the short term.
So yes, one less developer for iPhone (except as a web platform, if they are lucky). Also one less MacBook pro sale for Apple (probably, because I'm so steamed about this.. though .. heh, maybe lets see how the refresh looks next week and then we'll see)
CS5 also targets android.
Nope, we're good.
What's your definition of 'normal'?
What if you abstract out your logic with a DSL that compiles down to iPhone native code? This is in violation of their terms of service.
What if your DSL just generates C code? That also looks like a terms of service violation.
Now what if that DSL is a yacc grammar for a network protocol or configuration file? Not an abnormal use anymore, is it?