Visual Studio Express is free to use ... and it's enough for almost every need you might have. And before that you could use the #Develop which is an open-source IDE for C#/VB.NET.
And while Xcode doesn't even support intellisense properly, Visual Studio is in a different category altogether considering that you can also develop with it web applications / Silverlight clips, supports many more languages and has a really healthy plugins ecosystem.
Not to nitpick, but Microsoft is endorsing Mono lately as THE Linux/FreeBSD/OS X alternative. On Linux I can have a dotNet app that uses Windows Forms running ... can you do the same with Cocoa?
Of course Mono for Apple would be an abomination that had to be destroyed (considering how they sued Psystar and even Wired on publishing an article about hackitoshes)
(pretty ironic I'm defending Microsoft, since I've been badmouthing them for years, but compared to Apple they start looking like saints)
Cocoa is a direct descendent of NEXTStep which is an open spec. Hence the NS prefix on class names. Here's "Mono for Apple":
You mention MS "endorsing" Mono as if that means something.
[1] http://groups.google.com/group/objectivej/browse_thread/thre...
But the first ones I linked are all Objective-C. Well, Étoilé has implemented a smalltalk-esque syntax now.
> Cocoa is a direct descendent of NEXTStep
Oh please, take any Cocoa app and try running it in Gnustep.
People tend to make this claim and I just don't understand where it comes from. Microsoft has made available the express editions of Visual Studio for the last several years and they are pretty damn good.
Then I'm paranoid. Like Mark Pilgrim (http://diveintomark.org/archives/2010/01/29/tinkerers-sunset), I don't believe Apple will be selling general purpose computers to consumers in 10 years. Remember Steve Jobs's plan for Apple: "milk the Mac for all it's worth and then move on the next big thing". The next big thing is mobile computing, and Apple has made it clear that they want absolute control.
Apple isn't the only one doing this. I don't know much C# and I don't run Windows anymore, but I want to write XBOX games. Should I be mad at MS for making me buy Windows, learn Visual Studio + C#, and pay a membership fee to write games for my XBOX? They have a developer program too, and a completely closed system. They take a cut of sales. They don't review your apps though, but honestly I like the fact that through the Appstore on my iPod, stuff isn't gonna trash my iPod like it did when I used to have it jailbroken.