Living In The Post .NET Era
Written by Mike James   
Friday, 12 October 2012
Article Index
Living In The Post .NET Era
Can we live without C#?


Today the emphasis has changed completely.

Now the aim is to enable Microsoft to extend its reach into to the mobile and cloud based world and the tool for that job isn't ASP .NET as we used to know it but HTML5, JavaScript and CSS. The strange part of this story is that Microsoft could have taken the .NET approach to domination in the mobile market but it chose to drop Silverlight and re-imagine mobile in the image of the new WinRT.

If you don't believe how radical the change in Microsoft's orientation is consider this - do you think that Microsoft would create tools for rival systems such as PHP and Node.js back in the golden years of ASP .NET? If you remember Microsoft virtually denied the existence of alternative technologies and interworking wasn't up for discussion. Today we have WebMatrix which supports a range of open and rival technologies.

You can of course deny all of this and say that Microsoft is just adapting to the the new world it  finds itself in by redefining ASP.NET, but this is just another way of saying the same thing. It is also Microsoft's way of downgrading technologies without having to admit it is doing it.

Change the meaning of the words rather than admit that the words no longer have an meaning.

If you have spent a long time learning and using .NET technologies then all of this will be painful and you will probably want to deny it and reinterpret it to make your choices seem good.

This is natural enough and the good news is that as far as anyone can tell none of the old is going away anytime soon. When someone tells you that we are in a "post x era" it doesn't mean that x is to vanish overnight - more that something other than x is the top dog and the better bet for the future.

The question you have to ask is not "was I wrong to select x for my previous projects?" more "what should I select for a future project?".

It is clear that anything with .NET in its name isn't as good a prospect as it once was.




For example, most programmers would agree that Silverlight is no longer something to consider for a new project. If you don't agree with this even a little, then you really are in denial. Again, if you have used Silverlight in a project there is no need to rush to undo the decision but the future isn't bright and the smart money would be moving away from it.

What about the rest?

Things are less clear when you move away from Silverlight which is the most clearly dumped of all .NET technologies.

ASP.NET, for example, is being expanded and redefined so that the core ASP.NET Web Forms looks like just one option among many. This dilution means that you probably should regard "code behind/round tripping" ASP .NET as being on the endangered list. So does this mean that you should move to ASP .NET MVC say?  You could but at this point you probably should be examining the wider alternatives and as already mentioned Microsoft seems keen to help you explore PHP, Node.js and pure HTML5 by way of Web Matrix - and if Microsoft isn't sure why should you be.



The big question is what about C# and XAML?

This is the most difficult of all. Making use of C# and XAML in WinRT allows .NET programmers to transfer their skills. This is an environment that looks like what we were used to, but which has enough differences to be noticeable. It is also debatable that the best choice of language on the WinRT platform is C++ because it is the language it is all based on and it is fast.

All this is enough to make anyone nervous about the future but not enough to say that C# is a language that isn't going anywhere. There is also the small problem of what to replace it with. Recently I've been experimenting with alternatives - Python, Ruby and Java - and despite what their enthusiastic proponents say they just don't do the job as simply and as directly as C#.

For the moment, it looks as if C# is the choice for new Windows desktop projects simply because there isn't a credible alternative.

Programming in a post .NET era is complicated by the range of environments you can opt to support - Desktop, WinRT, Windows Phone 8 and of course the browser. Microsoft's unified picture of the world with everything in managed code and C# being the one language to rule them all seems to have vanished, just at the moment it seemed closer to being true. Only a year ago we had managed code on WP7, on the desktop and in the browser - all courtesy of Silverlight.

Now we have lots of difficult choices.

Given that Microsoft uses development environments as a marketing tool we need to make those choices very carefully.



Related Articles

Dumping .NET - Microsoft's Madness

Microsoft's Extinction Event

ASP.NET Future Revealed

The War At Microsoft - Managed v Unmanaged

Was .NET all a mistake?

Silverlight is dead, long live Silverlight?

Why your next language better be C++

Three Windows 8 Editions Clarify the WinRT Position

How Microsoft Could Have Done Metro

The Astonishing Tale of WP8


C book



or email your comment to:




To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.


Last Updated ( Saturday, 18 May 2013 )