DotNetNuke in C#? My Opinion on The Subject

Thursday, May 27, 2010

iheart Today, Scott Willhite announced the release of a C# version of DotNetNuke in a blog post entitled DotNetNuke source in C#. Yeah, Really. If you haven’t read it yet, then I suggest you do so now and then come back and continue reading this post to find out what my opinion is on the subject.

Now that the announcement is official, I wanted to also make my opinion public, here on my blog.

Prior to this announcement, the core team had been discussing this move in a private forum. Opinions on the subject were many and on both sides of the fence.

Let’s be clear though, the main motivation for this move is to increase adoption of the platform. Having a C# version will not only encourage C# developers to take a hard look at DotNetNuke, but it would also imply that there is a pretty good chance of having DotNetNuke work in Unix environments through the compilation of the framework in mono. The SQL Server requirement would still be an issue here, as well as other environment compatibility differences (such as file system) that are yet to be worked out, but for the most part it is a very plausible endeavor. The problem here is that the effort to get all this fleshed out is yet to be scoped, which is where I start to get opinionated. Read on.

Several team members have voiced their own opinions. Initially i sat quietly and watched the thread, but ultimately decided it was time for me to share my opinion. So, here was my honest take on it (slightly modified to remove any private & sensitive data):

[…]

If I may chime in here also... I would be saddened to see the VB version become the 2nd class citizen. For all these years DotNetNuke was living proof that you could do great things with VB and it was a great way [to showcase and ] to tell people: look at DotNetNuke, it is written in VB, so shut yer trap with all that "C# is better than VB" rhetoric.

Furthermore, with .NET 4.0 and language parity, the whole C# VS VB.net discussion is moot, which is why I am even more surprised by this move. As to the Unix argument, well, suck it mono! ... I mean come on, what is the market share of mono/unix users, and is it worth such a paradigm shift just to go after that demographic when there are still millions of Windows boxes out there yearning for DotNetNuke?

As [Removing name for anonymity] rightly pointed out, it won't work out of the box anyway. All that means is that focus will yet have to shift to make that work rather than improving the framework.

Anyway, this is just my opinion on the matter and I'd hate to see good efforts wasted on maintaining two versions of the platform rather than see those same efforts applied where the product really needs it.. UI, UX, performance, and feature set.

Cheers.

For the record, I am VB guy, always have been. I am a VB MVP as well, so naturally my tendency is to defend the language, but the truth is that I also write code in C#. Furthermore, if DotNetNuke was originally written in C#, I would be having the same sentiments and opinions about translating it into VB. The issue here is purely one of efficiency. I would rather see efforts go into improving the product rather than spending the time managing two code-bases – simple as that.

One more point here to make is that not too many people modify the core source of DotNetNuke anyway. Doing so simply denies one an upgrade path, without, of course, the pain of retrofitting the changes made during each upgrade. The way to extend DotNetNuke is through modules, extensions, skin objects, skins and providers, all of which you can do with either C# or VB. This is nothing new, and has been the case all along.

That all being said, I do not control the future nor DotNetNuke’s actions so I will keep an open mind and watch how this goes, hoping that I was wrong in my assessment all along.

Scott has also made a forum thread available for an open discussion with the community (http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/160/threadid/369100/scope/posts/Default.aspx). There are already a few posts which you’ll notice are mixed in opinions. Some really like the idea and some do not; after all, this is the beauty of open source and community based applications.

 

Note: If you are looking for the C# version of DotNetNuke you can find it on the download page on the project page on CodePlex staring from DotNetNuke 5.4.1
dl

Comments

pingbacktopsy.com said:

Pingback from topsy.com

Twitter Trackbacks for
        
        CTO 2.0 | DotNetNuke in C#? My Opinion on The Subject
        [cto20.com]
        on Topsy.com

Will StrohlUnited StatesWill Strohl said:

Either way, this is an exciting cross-road, and the journey to see where this goes will be a great learning experience on many levels.  Though, I am a VB guy too, as you know.  But I am consistently surprised by the number of C# developers that refuse to use VB, and vice versa.  As a developer, you seriously pigeon hole your options.  

AntonioChagouryUnited StatesAntonioChagoury said:

Will, thanks for chiming in.

Your comments made me realize that I had forgotten an important point (I've now updated the post). The point is that not too many people modify the core. Those who do have a very hard time upgrading.
The proper and orthodox way to extend DNN is through extensions, etc, and as you very well know, you can do that in either C# or VB.

Time will tell what will happen, and whether this is a worthwhile move. Until then, I will keep a positive attitude.

Cheers.

S. Shawn MehaffieUnited StatesS. Shawn Mehaffie said:

Very nicely put Antonio.  I started as a VB.Net programmer but because of a company decision we use C# where I work.  IMO both VB.Net and C# are both valid languages and both should be "top" rated MS languages.  The think I have always liked about DNN was the fact that DNN was in VB.Net and something that could be used to debunk the argument by C# purest that mission critical application could not be written in VB.Net and you had to use C# for those type of applications.

Whatever is decided I know that DNN Corp will not make the decision lightly.  So whatever decision is made there were valid reasons for it and only time will tell if it was the correct decision.  As Will stated, "we are at an exciting cross-road" and we will just need to wait to see where it takes us.

Comments are closed