The Everlasting Question - Should I choose VB.NET of C#

csVsVbChart

I got an email last night from Eduardo.

Eduardo "Love's VB.NET", but is concerned about his long term career prospects because he keeps hearing about C#.

The Pie Chart from the Telerik Survey suggests that C# has surpassed VB.NET as the .NET language of choice. For the record, I don't think this accurately reflects the division. I would guess that it's more like 55% VB.NET and 45% C#.

People ask me all the time why I choose VB.NET instead of C# for my videos. The truthful answer is, I don't. I use VB because ScottGu asked me to use VB.NET.

At first, I was a bit queased out :) - I first started programming in "C" in 1978 and C++ in abut 1988-1989. So languages of "C" flavor like Java and C# are just familiar to me.

It took me about a week before I was I stopped thinking about the syntax I was coding in.

I just don't think the choice between C# and VB.NET really matters.

The one statistic that does matter is that companies seem to be paying C# developers more than they want to pay VB.NET developers. I suspect that this statistic, like most, is irrelevant if taken on face value alone.

It's possible, even probable that the C# programmers they hire have more of a systems programming background in C++ or an enterprise development background in Java so that C# is the syntax flavor of choice, but that flavor choice is a byproduct of their skill set and it is that skill set that earns them more money.

If a company pays C# developers more than VB.NET developers for no other reason than syntax choice, I'd probably choose to work for another company as I prefer to work for really smart folks :)

I'd be surprised if anyone could suggest a business application to me that REQUIRED it be written in one language over another (at least for non-business reasons.)

To me, the choice between VB.NET and C# seems a much less significant one than the industry seems to want to make it. It's a stylistic choice. A philosophical choice. Even an artistic choice. But not really a NECESSARY choice.

Sure, TO ME, C# code "looks better". And FOR ME, coding in VB.NET is a bit faster. Since I'm happy to switch back and forth, I lean toward building class heavy back ends in C# and front side stuff in VB.NET (though not always).

The power is in the .NET framework and in the productivity of Visual Studio. Does that make VB.NET and C# just the duck tape that ties them together ? :)

Below are some links to articles that discuss the VB.NET versus C# issue.

In the mean time, Eduardo, write great applications in which ever language best suits you and let those applications be the strength in your resume. Not the syntax flavor they are written in.


Murray "Flash" Gordon has a great VB and C# Comparison on his blog [ Click HERE ]

Wikipedia also has some good information. [ Click HERE ]

Nigel Shaw has a good article at The Code Project with some sound conclusions. [ Click HERE ]

Jeff Atwood at Coding Horror also has a good post. [ Click HERE ]

The Pie Chart above is from the Telerik Survey [ Click HERE ]