Speaking at Microsoft's financial analysts meeting today, CEO Steve Ballmer was refreshingly realistic about the company's struggles in smartphones and tablets. "Mobile devices. We have almost no share."

Right. Now that Ballmer himself admits it, can we please settle the discussion? Windows Phone has been a failure up until now.

If you honestly believe that, then you aren't very experienced with other platforms and their available tools.

Microsoft's inability to follow standards and give developers the API:s they want is also hinders them from gaining more market. OpenGL ES 2 is one of those API:s.

The .net and Visual Studio simply destroy Android tools and XCode by a wide margin. The only people who think otherwise are inexperienced devs. However developers work with what they know, and that is the best tool for them.

pretty much tools people are productive with they will be productive with. IMHO visual studio is junk and it forces a very anrrow paradigm on developers, but its what younger devs have always used. So "what I'm used to using and how I do my development" ends up being the best tools on the market. And I sit back and curse MSs craptastic support of open standards (STL, etc) and even marginal support of c++ and worse 64bit support...and the absolute worst sin not being able to mix and match debug and release object files for testing.

Compared with xcoede or android i can't say as much but at least i can choose what platform for running android development and that *is* what I will target when the time comes.

pretty much tools people are productive with they will be productive with.

People were productive with QBasic and TurboPascal but it does not mean we should still be programming in them.

IMHO visual studio is junk and it forces a very anrrow paradigm on developers, but its what younger devs have always used.

Visual Studio is junk? LOL You obviously have not done any modern development. What is better and how is it junk? Eclipse? LOL By locking developers into a "narrow paradigm" does that mean writing garbage collection code and custom exception handling code also?

And I sit back and curse MSs craptastic support of open standards (STL, etc)

When you have a footprint like Microsoft you don't necessarily have to follow open standards, you can define them like .NET. Some of the open standards don't lead to the best development practices anyway.

even marginal support of c++ and worse 64bit support...and the absolute worst sin not being able to mix and match debug and release object files for testing.

Ridiculous. MS supports C++ in native code and with a CLI. If you don't need to run closer to the bare metal why use it though when you can use C#?

with xcoede or android i can't say as much but at least i can choose what platform for running android development and that *is* what I will target when the time comes.

You are free to develop for any platform you wish but with these uninformed opinions, I would be concerned relying on your apps in production. Managed code and CLIs lead to better quality apps.