C# vs. VB.Net Adoption

By Deane Barker on April 7, 2010

Comparison of C Sharp and Visual Basic .NET: Interesting metrics trying to nail down adoption rates between VB.Net and C#.

  • A 2007 Forrester Research poll revealed that 59% of .NET developers used only VB.NET to create software.
  • Visual Basic Express is the most popular download of all the Visual Studio Express downloads.
  • An original C# language designer, Scott Wiltamuth, stated in a March 2010 blog that the “most reliable numbers we have… show roughly equal adoption” for VB.NET and C#.
  • According to a survey conducted by Visual Studio Magazine “41 percent said they used C#, 34 percent programmed in VB.NET, while 25 percent responded with ‘other.’”
  • Stephen Wiley, marketing product manager at Apress has reported “C# titles outsell VB.NET title books handily, by somewhere between a 2–1 and 3–1 margin.”
  • MSDN Blogs, the blogging site for Microsoft employees, has 27,500 posts that discuss C#, while only 8,880 mention VB.Net (as of November 15, 2007)
  • Google Groups, a Usenet search engine, returns 36,900 hits for “VB .Net”, and 65,700 for C#
  • Amazon.com returns 9,923 hits for C#, and 2,149 hits for “Visual Basic .Net” (as of November 15, 2007).
  • Telerik Survey 2008 suggested that C# (63%) had surpassed VB.NET (34%) as the primary programming language.
  • Telerik Survey 2009 suggested that C# (69%) further strengthens its dominance over VB.NET (30%) as the primary programming language.


  1. Here is another related metric that shows about C# beating VB.NET by a ratio of over 15 to 1:

    The following is a crude analysis analysis, but here is what I found on Koders.com an index of source code on the web:

    ‘class’ language=C# and got 642,000+ hits ‘class’ language=VB.NET and got 42,000+ hits ‘class’ language=VB and got 1,500+ hits

  2. Interesting stats… I’m kind of amazed that anyone would weigh metrics for the number of hits on the Web to guage the acceptability of any given platform. I urge all to look under the hood – same foundation, same CLR, same framework…. That was a goal of MS – it’s now more of a “perceptual” difference….

  3. I believe that C# is a more concrete development language. I mean the syntax, form, etc. is more strict and writing code is simpler. Say if you want a variable integer:

    C# int x; //very straightforward

    VB/Net Dim x as Integer ‘what the heck is Dim. Integer is already there.

    just a comment ^__^

  4. what the heck is Dim

    “Dim” == “Dimension”. They used to call it “dimensioning a variable,” back in the day. No idea why.

    But, I agree with you anyway.

  5. It was called “dimensioning” because you used to only use it on arrays to establish their dimensions. Later the role of “Dim” was expanded to include setting the type of variables.

  6. I don’t know if there is serious metrics on the quality of the C# programmers vs VB Programmers?

    This is a personal observation but I think C# programmers tend to be stronger since anybody can program in VB (hobbyist are choosing it).

  7. C# has more trash than VB. for example when you need to declare new object, you have to put () at the end beside ; sign. Every linq query has to end with Select while VB linq query’s doesnt. you have to type using namespace for each classes in the project while using VB doesnt require once you reference on entire project. swtich case: each case has to end with break while equivalent select-case doesnt in VB.

  8. This is a great comparison. Thanks for pulling out those stats.

    Personally, I would never want to deal with VB again, because it tends to be such ugly code. Plus, C# is very close to JavaScript which should be the second favorite language to all good web devs.

  9. I’ve always found VB.NET guys to be more along the lines of hobbyists-turned-developers. Not really into best practices, efficiency, etc. but just dragging and dropping stuff for a UI and dropping code into auto-generated event-handlers. Unfortunately, I think Microsoft’s earlier focus on VB and VB.NET gave developers who work on MS platforms an undeserved bad reputation.

    Having switched to C# back in 2004, I would hate to ever go back working primarily in a VB shop.

    Emil, your comments are funny.

  10. In VB.net you don’t generally use “DIM” anymore. “Private x as blah” is preferred. There’s plenty more examples where that came from. VB.net makes a passing (and generally weak) attempt at trying to stay somewhat backwards compatible. whereas C# is a +completely+ new language. You’d expect there to be some baggage tagging along in VB.net. But that doesn’t make it “bad” by any stretch. “Basic” in general was long ago associated with all manner of bad programming practices, and even though it’s long since outgrown all those limitations, plenty of people have adopted opinions based on poorly written vb code and then blanketed the VB forever with those opinions. Personally, I’d much rather there be a +choice+ between languages than not. It’s ludicrous to think that everyone will think equally well in any style programming language, just like nobody would expect everyone to be particularly adept ( or be able to become particularly adept) at ballroom dancing, or judo.

Comments are closed. If you have something you really want to say, email editors@gadgetopia.com and we‘ll get it added for you.