Objective-C, so named to hide the fact that Objective-C is an old style programming language, it would have done Apple no good to refer to it as “Next Step” like it did back in the 1990s, which for many readers may have been before your first birthday. No wonder the ease of programming that C# provides are flocking to Window Phone 7. (I do work for Microsoft, but this is my opinion, management at Microsoft does not interfere or make suggestions about or guide my blogging.)
Many developers who are moving from iPhone, are doing so because of the older architecture of Objective-C/Next Step. These old style approaches are opening the developers to problems with quality of design, test patterns and data queries, etc.
C# provides tools for the developers, at a cost but only for the price of a Snap-on tool chest. Visual Studio allows you to utilize unit tests, deployment and architect solutions. C# offers these tools in an integrated manner, you can start with Visual Studio 2010 Windows Express, move to Visual Studio 2010 Professional and then when you are a serious app designer you can move to one of the Visual Studio 2010 Architect tools.
With the Objective-C/Next Step, is there an equivalent resource? Keep in mind that Microsoft is a developer oriented corporation at it’s heart. Apple? Apple is a great entertainment product, and the hardware is well designed.
Naturally, it’s the developer’s choice, but Objective-C/Next Step, basically unchanged for almost 20 years, and it has no ISO/ECMA standard. C# is based on ECMA-334 Standard, this means that Microsoft works with OTHER technology companies to produce a language that has input on the needs of the app developer. C#, like C++ and ANSI C all have open standards that many people and companies contribute intellectually.
For the C# Specification (download for no cost):
For the C++ Specification (download cost $381):
For the C Specification (download cost $366):
For the ObjectiveC (download cost: N/A):
If you are developing for iPhone, take a look the (no cost) document from the AppHub on how to port your application to Windows Phone 7: