Originally Posted by Dick Applebaum
Could you clarify this a bit?
I don't understand: "Also VS2010 owns really, really hard."
It appears that you are saying that the iPhone development system offered by Apple could easily be incorporated into the development system (VS2010) offered by Microsoft.
As for VS2010 owning, it's just a really awesome development environment. It has a lot of developer tools that are top notch and the debugger is amazing. I can't list all of the reasons VS2010 is a really good IDE because the list could go on forever. Say what you will about Microsoft, but their developer support is unmatched in the industry.
As for how IDEs and SDKs work, and IDE, or Integrated Development Environment, is basically a piece of software that integrates separate components, such as the compiler the debugger, the text editor, etc., into one place for the ease of the developer. XCode is an IDE, as is VS2010. Without all of the above components I mentioned, an IDE is simply a shell that could be useful. Because people are going to be using the IDE for common applications (VS2010 includes C++, C, C#, and VB development using native Windows libraries and .NET. XCode includes C, C++, and Objective-C/Cocoa using native MacOS libraries), these components come configured and installed with the IDE. Just for reference, the compilers for both Mac OS and Windows come with the OS without the IDEs. An IDE simply uses that compiler. Otherwise, a programmer can use a text editor to write the program and use the compiler through the command line to compile the file. This is true on Mac OS, Windows, and Linux/Unix.
Now let's take a look at the iPhone OS SDK. This includes the iPhone OS compiler (different from Mac OS due to different processor architectures for the two platforms), API binaries for the iPhone, and the iPhone emulator plus some other things I probably don't know about. XCode does not have iPhone development tools installed by default. It does not know what the iPhone even is until you install the SDK. VS2010 is the exact same way with the WP7 developer tools as is Eclipse (the IDE used for Android development) for the Android SDK. When the SDK is installed, the SDK tells the IDE, "Hey here I am." The IDE then says, "Hey there you are." They will then work in harmony with each other.
VS2010 would work this way with the iPhone SDK. The SDK components would be compiled (by Apple) so that Windows can see and use them, and it would integrate with VS2010 much like how it already integrates with XCode. It's as simple as that. If you're still confused, think of an SDK as a plugin, much like AdBlock is with Firefox and take my word for it.
Also, to illustrate how good VS2010 is, a friend of mine who is an avid Linux user who hates Windows basically gushed to me how good Visual Studio is when he had to use it for an assignment. This guy does not like Windows or any Microsoft software, but he absolutely loved Visual Studio. I would not worry about it since the tools that actually build the binaries are controlled by Apple. VS is simply how the programmer interfaces with those tools.