There has long been a battle among Microsoft developers regarding what is better VB.NET or C#. It seems that VB.NET might be on the loosing end, as DotNetNuke (news, site) announces they are migrating their core WCM platform from it to C#.

The Reasons to Move to C#

Shawn Walker, co-founder and CTO of DotNetNuke outlines the reasons for the move to C# in a very detailed blog post. Here are a few of them:

  • There are a lot more jobs for C# developers than VB.NET developers, which means the market for C# is greater.
  • Microsoft is spending a lot more time and effort on C#, from code samples to using it as the default language in the new WebMatrix IDE.
  • There is a perceived performance benefit to C#

As Walker clearly states after listing all the reasons for the move, this decision is not based on technology, it's business. Probably one of the biggest reasons for the decision is that this move will encourage the adoption of DNN overall, and that's a goal any organization would want to achieve.

According to the post, a Chinese developer named Ben Zhong ported the VB.NET core framework to C# a year ago and made it available on CodePlex. DNN approached Zhong about providing it with an official DNN supported version and he agreed. The large number of downloads proved to DNN that C# was definitely something developers wanted. The end result is the news we are hearing now, DNN will officially move to C#.

So It's Goodbye VB.NET Core

Walker says they are in the process of QA'ing the current C# code base and will make a DotNetNuke 6.0 Community Technology Preview available in the coming weeks. DNN 6.0 is expected sometime in the second quarter of this year.

The WCM vendor will not continue to offer VB.NET and C#, but Walker does say if someone in the community wants to help maintain an "official" version in VB.Net like Zhong has been doing, they are open to talking.

It's also important to note that this doesn't really affect the third party extensions and apps that are already built because DNN supports any .NET compliant language. In truth, some of the DNN modules and extensions are already built in C#.

The comments on the blog post were all positive. And even some VB.NET developers, while not thrilled, understand the decision for the move. Others don't really get it and are concerned about the potential bugs that will arise with this move.

A Smooth Transition

And that will be the biggest hurdle for DotNetNuke, making sure they have ironed out as many of the bugs as possible before the official launch. The company has, in the past, come under heavy fire for releasing buggy versions of their software.

Making a major change like this one based purely on business reasons will annoy many a developer who may who has to deal with unnecessary technical issues in the new version.