C# versus vb.NET

June 1st, 2006
[ General ]

There was a post on slashdot today titled “Making an Argument Against Using Visual-Basic?” I’m sure it’s clear where I stand on this one.

C# and VB.NET are almost indistinct from a functional standpoint. In the end it is all compiled down to MSIL but we don’t program in MSIL and this isn’t primarily about language functionality. This should be about writing quality maintainable code.

In attempting to compel some clients to migrate off VB and over to C#, the best article I’ve come across that more or less states it all clearly is Not Another C# Versus VB Article.

Some other points not touched on in this article:

  • “C# is a future language with international standardization muscle; the others are just legacy language reruns. Don’t write new code, especially class library code, in them!”
  • Microsoft’s developer roadmap specifies that C# is intended for class library development while VB for RAD development.
  • C# has much greater potential for widespread adoption, not only by developers but also by platforms, already having been released on other platforms (Mono 1.0).
  • C# has the lead in language extension while VB continually plays catchup.