Visual Basic .NET and C# Side By Side

Recently Clint Rutkas and I has some fun discussing which was better between C# and Visual Basic .NET. Truth be known I’m perfectly happy using C# even though my first instinct is to use VB .NET. I do believe that VB .NET is better as a first language but that is because that is personal preference more than anything else.  But no matter which language one learns first I think it is very useful to learn both. VB .NET is widely used for programming with business logic and user interface programming. C# is used for other stuff. Probably some serious stuff but definitely XNA GSE game programming. 🙂 One useful tool I found was this list of VB .NET and C# language constructs shown side by side.  (hat tip to Go To 100 – Development with Visual Basic)

Note that there are some of the newest .NET features missing from that list but for a lot of beginners it will be very useful.

BTW Clint and my earlier posts on this subject can be found at:



Comments (1)

  1. int19h says:

    I wish C# had XML literals, syntactic sugar for LINQ to XML, and the ability to combine "ref" and "this" modifiers on a method argument, as VB does.

    I wish VB had statement lambdas and iterators, as C# does. And, for God’s sake, kill that explicit "ByVal" already – all people to whom it may concern (i.e., VB6 converts) have either learned the new rules a long time ago, or don’t care about VB.NET at all.

    Other than those, I don’t really see much difference nowadays. VB was a pain to use compared to C# back in 2002/2003 days, if only because it didn’t have Using .. End Using – and you learn to appreciate that fast. But these days are long gone now.

    By the way, the best OO language to teach as a first language is, of course, Smalltalk/Squeak 🙂 Though I’m surprised that Microsoft doesn’t make its own offering like that with a simplified subset of VB as a base language – it would seem that WPF is an ideal platform on which to build such a thing.

Skip to main content