Many developers are up in arms about a new policy from Apple that mandates all iOS applications to be written in either a flavor of C or JavaScript. It’s original motivation is apparently to prevent Adobe’s imminent Flash-to-iOS compiler in CS5 from working, but the collateral damage is much greater than that.
There’s a wealth of cross-compilers in the wild that looks to be outlawed by the same provision. Titanium, Gambit Scheme, MonoTouch, and Unity3D are a few of the bigger ones. These layers allow you to write applications in programming languages like Scheme or C# and compile that into a native iOS applications (as well as other platforms like Android).
Lots of developers, me included, have had such a gut-turning reaction to Apple’s new policy that we have a hard time thinking and speaking rationally. The emotions take over and we start screaming “fascists!”, which isn’t very persuasive to non-developers who don’t have the same instinctual reaction. So instead, allow me to go through five (mostly) rational arguments for why this is a bad idea.