Monday, June 15, 2009

Survey Says: C# still more popular than VB

It's year two for the "C# vs. VB" survey and the results are in! Thanks to everyone that voted, we have an even larger sample set in this year's survey, and interestingly the results are pretty consistent with what we measured a year ago. As you can see from the summary chart above, when asked what .NET language do you primarily program with, just shy of 70% of respondents said C#, 30% said VB, and 1% said they used some .NET varient that was not C#, VB, J#, or Iron*(Ruby,Python,etc.).

Compared to the results from this same survey run almost exactly one year ago, C# saw a near 6% gain in popularity, VB saw about a 4% decrease, and J#- which clocked-in with 2% of the vote last year- fell off the map. Votes in the "other" category remained level at 1%.
The significance of this year's survey is that it gives us our second data point- enough to start defining a relative trend. Clearly the trend will become more meaningful as the years go on, but already we can start to defend with numbers the annecdotal trend that was suggested in last year's survey wrap-up: C# is gaining in popularity and VB is fading- but things may be much more "stable" than previously thought.
While C# did show a 6% increase in popularity, not all of those gains likely came from VB converts. More likely, especially with J# not represented in the results this year, C# is seeing gains from people switching from J# and Java to .NET. Further, if you accept a certain statistical "error margin" in these results year-to-year, you could make an even stronger case that the .NET community is "settling" in to a ratio where 30 - 35% of devs are using VB and 65 - 70% are using C#. I suppose we'll have an even better idea when we run this survey a year from now and see how things change over the next 12 months.
What I find even more interesting is the lack of people- as in none- that said they use an Iron language as their primary .NET language of choice. With as much buzz as the DLR community has had in the last year, I fully expected a statistical portion of respondents to be using DLR languages as their primary choice in 2009. According to this survey, it would seem DLR is still very niche, though, and has done little to erode C# and VB's dominance of .NET scene.
What do you think of these results? Do they seem right based on your own observations? Clearly these results are a snapshot of a small part of the .NET community, but since this suvey is defining a relative trend (to the results collected 1 year ago) they are more likely to be accurately reflecting velocity in the .NET community. Sound-off in the comments and check-back in a year for Round 3!
P.S. Don't forget to vote in the new "Twitter" poll running on Telerik Watch now!

9 comments:

Anonymous said...

This poll came right after my request for a VB Prism, wich really makes me think, i'll have no other choice than converting myself to c# rather than having a mix of vb/c#, like the guys from metallica said: sad but true ;)

Rui Silva

Todd Anglin said...

@Rui - There is definitely no shame in VB! Make sure you read my background in VB from last year's results. But the trends and surveys (and anecdotal evidence) do make it clear that C# is more "popular" than VB in the .NET community. If you have a choice, and it doesn't require rewriting code, I definitely think it's easier to work with and find examples for C#. Hope that helps!

-Todd

Anonymous said...

How many respondants were there? - this is very important for gauging the reliability of the survey.

Todd Anglin said...

@Anon - You are correct, and there were about 200 responses to the survey. Perhaps more interesting though, and something validating the sample accuracy, is that last year's survey (which had about half this year's votes) had very similar distributions. It would seem that the sample is large enough to be (relatively) statistically accurate. Hope that helps.

-Todd

Rui said...

Despite all ancient "wars" of c# vs VB, both languages are almost "mandatory" to exist in your CV.

Definetly won't wurt to learn (at leat to read) both languages, so here I am in a crash course to learn c$ now that Prism seems like the most promisory technology in the silverlight wpf world.

Anonymous said...

Nice job.
Hope that the next survey will also include C++.NET.
J# popularity is not that important to most developers.

Anonymous said...

http://msdn.microsoft.com/en-us/vjsharp/default.aspx

j# not going to be included in future releases of visual studio. Its decline is not surprising.

Anonymous said...

I hate VB.NET !!!
I used working with VB1-VB6 for many years and did many nice projects. But when it's time to "release", I simply release. New C# came out and it's simply impossible to think Object Oriented with VB writing !! So I left VB for good and started learning C#.

Today I know I did the right thing. When you code in C#/C/C++/Java/Javascript, it's all gives you the ability to think Object Oriented. VB/VB.NET is for those people that still stuck in BASIC (That old commodore toy - remember?).

If you choose VB.NET for programming, it's simply because you are not good enough to be a realy good programmer - just a hobby guy.

graham said...

The methodology question is not so much sample size as selection bias (though 200 replies gives a margin of error of 7%, about the same as your increase). How did you find your 200 programmers or did they find you? If they were self selected then, I would assume that this would overrepresent the % of C# developers.

I might be completely wrong about this, but my experience is that VB developers started with VB; learned it because their job required it, and then stopped there.

The C# developers either came from C++, or were motivated to keep going because C# is more expressive - you can say more with less. (I can't tell you how many VB developers I used to hear insisting how much they wished the firm would send them on a course to learn C/C++. Some, complained about that, some just bought the books and spent their weekends and evenings learning it.)

My hypothesis is that if the group is self-selected then C# developers are more likely to be the kind of people coming across the questionnaire in the first place.

These are the programmers who are more likely to find programming intrinsically interesting: it's not just a job requirement, it's something they read about in their spare time, something they buy books about with their own money.

I know there are great VB developers, and C# programmers who do it entirely for the paycheck, but how do you know that your survey doesn't just show that C# developers are more likely to take surveys about programming?