Percentage break down of open source code on the internet by .Net language?

dotnetguy37

Freshman
Joined
Nov 15, 2009
Messages
29
I know this seems a silly thing to ask about out of the blue, so I guess I should explain a little further.

I am a hard core VB6 programmer.
I've had over ten years to transition to .Net and I've been fighting such a transition all that time.
I have written a little C++.Net and ASP.Net code but mostly I've been successful at avoiding having to rewrite all my VB6 code to .Net.

Now it's 2012, and VS.Net has to be considered a "mature" programming environment.

Recently I got asked by a friend, who is the owner of a small to medium size business, about moving his VB6 code (for a large document repository management software for millions of documents) to .Net.
Of course he knows that I know a lot of VB6 coding (I guess that's why he decided to ask me).

Even though Microsoft's support statement has promised some level of support for VB6 with the upcoming release of Windows8, he feels, looking down the road a ways, that .Net is the way he wants to go.

The VB6 code has been "massaged" (refactored?) heavily over the years by several VB6 coders and has become quite "brittle".
It is easily tens of thousands of lines of code with many many .bas and .cls modules and even a few .ocx custom controls (I know uisng the legacy COM technology gives little hope of even using InterOp for a smooth transition to a native .Net user control).

I first advised him to think about going with a web app approach (maybe go asp.net with Ms SQL Server or an HTML5/javascript/ajax/json app), exploit Azure or another type cloud, and maybe even look at some of the Microsoft Dynamics packages.

He is adamant, though, he wants to keep all the documents (data) on a local hard drive (I've let him know, though, that Server 2008 R2 does have the ability to create a private cloud, though it probably won't be cheap).

So. this business owner, having been told (by other people, not me) all the difficulties of trying to convert VB6 code to VB.Net code, wants to re-code the whole document management software from scratch.

He said it shouldn't take long if we can find some a whole bunch of sample code online to "jump start" the coding (yeah, I know this really is pretty ridiculous and doesn't really take into consideration the long process that this total re-write is going to take, but anyway..).

Thus the question he asked me (which I didn't really have a good handle on how to answer):

What is the majority percentage of publically available (open source?) code on the Internet written in: VB.Net, C#.Net, and C++.Net?

Here is my break down guesstimate:
1.) C#.Net - 55%
2.) VB.Net - 35%
3.) C++.Net - 10%

However, there is lot of C/C++.Net code that is basically "student projects" - very primitive console application using main.c, int main, and with only console window output.

Eliminating this C/C++ (which could be rolled into a .Net console application - but is otherwise unusable), give a revised estimate of:
1.) C#.Net - 55%
2.) VB.Net - 40%
3.) C++.Net - 5%

..and that 5% is probably being generous.

A lot of such code has licensing issues and there are tons of "Hello World" samples. Of course many commercial software projects are written in unmanaged C++ code but, also of course, don't have open source code available (so really doesn't factor into things).

Of the two languages (C#.Net and VB.Net), not only does C#.Net have stronger support from Microsoft (VB.Net doesn't support GSE and have only has Mango support for XNA - not applicable to what this business man is doing but it sends a message from Microsoft that the "preferred" .Net language is the only one with XNA Xbox360 support),
but also C#.Net is somewhat closer to java
(there are many java programmers out there who have a familiarity with C#.Net and could hopefully help augment C#.Net programmers in supporting this .Net doc management software in the future).

So you can probably guess which way I am leaning, in terms of a recommending a .Net language in which to re-write the VB6 code, (especially since I mentioned the owner saw difficulties in going with a VB.Net rewrite - but didn't rule it out entirely).

I could say "go with unmanaged C/C++ code, because even if you use obfuscators the managed languages of .Net have too high a risk of reverse engineering and intellectual property theft" (I should mention that the doc management software is licensed to other businesses) .


Here's maybe another way of asking the question - after ten years (up-to this point in time), which of the three .Net languages has achieved greater "mind share" in terms of being most embraced by all .Net programmers at large?

I know it's not an easy question to answer, but any thoughts would be appreciated..
 
Last edited:
I think your assessment is pretty close but I'd take a good chunk out of the VB.NET pie and add it to the C# pie. When it comes to .NET C# owns the enterprise and as a result many people who have day jobs writing code at an enterprise shop also spend their spare time writing code in the same manner.

It is a fact that you can write the same program in any of languages and if you are a team of one then the choice is quite simply what you prefer. If however, I had to choose based on available resources then I'd choose C#.
 
Appreciate the reply..

Whoa!
I thought this thread was going to die before anyone responded.
(which I would have put down to the generally low level of traffic on this forum compared to the amount of postings weekly on the xvbt sister forum).
I think your assessment is pretty close but I'd take a good chunk out of the VB.NET pie and add it to the C# pie.
Which would put the breakdown closer (perhaps?) to:
C#.Net - 70 %
VB.Net - 25 %
C++.Net - 5%
It is a fact that you can write the same program in any of languages and if you are a team of one then the choice is quite simply what you prefer.
I had a feeling that at least some of the people who viewed this thread were thinking along those lines.

But yes, those "available resources" will probably be one of the primary deciding factors.

These not only includes the amount of source code available on the internet but also the ease of hiring programmers who are more well versed in one language than another...possibly leading to an app developed more quickly (cheaply?) and/or in a way which is easier to maintain while scaling easily.

...and thanks for the feedback/response.
 
Last edited:
Back
Top