Miguel de Icaza's statement was a little bold: "What's important here is that C# and .Net are considerably more productive development environments than the native iPhone language, which is Objective-C.". Does anyone have any examples of this being true?
Everything I have personally seen of Cocoa and Objective-C suggests it is extremely productive, compared to anything else (much less alternatives that could be "considerably more" productive). But maybe I'm wrong.
"Them's fightin' words!" is what I said out loud when I read that. I've programmed extensively in C# and barely at all in Objective-C, and I wouldn't say such a thing. C# is a very nice language, but such things really come down to tool support and standard library. And legions of dedicated NSCoders will tell you that their platform is a very nice one indeed.
The actual story here is that big companies who have lots of c# code/programmers can now use those to write iPhone apps. Presumably this means the .Net remoting / WCF as well, which is easily worth a grand to someone who's already running apps with those technologies. In that very narrow universe, I'll buy the productivity argument.
Having developed in .NET and Objective-C I think they are both pretty much the same (.NEt might be a little faster, but not much). However, if you've already got .NET programmers then it's going to be a lot faster than having to train them up in Objective-C, which does take a little bit of a mind-shift.
I think where this really comes into play is now there are literally armies of iPhone developers in India and elsewhere (where there are lots of .NET programmers). The cost of iPhone app development should come down considerably.
I don't understand the quote. Would you call C# and .NET development environments in the same vain as VS or IntelliJ? What's the preferred dev environment for Mono?
Further, there are several commercial dev environments for win32 that are really unmatched on other platforms, but aren't popular because they don't gen hip languages. Delphi and Clarion come to mind. I've worked with many dev environments, including the ones I mentioned, and I have to say the Mac/IPhone dev environment is fairly crude compared to these extremely mature, commercial examples.
And to drift a bit, that .net patent stuff still isn't entirely resolved with Mono as far as I can tell. As long as that stink is still around, Mono is hands-off. It doesn't make any difference what MSFT or de Icaza say about MSFT's supporting the project, if MSFT isn't bound by some legal agreement that states that it has given up any patent rights and infringement protection for .net, then I don't see how Mono is completely free of liability.
I am a big fan of Mono but you can also use C++ on the iPhone when compiling to g++ with one Obj-C wrapper. That is currently the most productive because of all the existing code that can be ported. Obj-C you can only use on the iPhone and Cocoa really which is a platform lock. With Mono the sky is the limit but it is still not directly native like C++. For mobile and especially mobile games, native is winning.
There a bunch of prominent iPhone games using the Unity3D engine -- you just have to compile down your bytecode so that no JIT is needed on the device.
Everything I have personally seen of Cocoa and Objective-C suggests it is extremely productive, compared to anything else (much less alternatives that could be "considerably more" productive). But maybe I'm wrong.