C# v/s VB.Net


OK, I know the flames will come, but let me preface this with the words "this is my experience and opinion".  The debate that has raged between the camps of C# and VB.Net has been at times vicious and spirited.  But let me share some of my experiences.  I’ve written millions of lines of VB6, VB.Net (all versions) and C# (all versions).  Recently I had to do some maintenance on an old system I had written back in my VB6 days.  I thought back then I was a pretty good developer, but upgrading to VB.Net 2005 exposed all the flaws: non-declared variables, used but not initialized members, functions with no return values, variables declared without type, and on and on.  Just little things that VB6 handled for me but should have been addressed.  So for my opinion, VB let me get away with things that I should not have.  VB has come along way and VB.Net 2005 points out most of those flaws.  C# is a lot less forgiving and declarative than VB and as such prevent more of these sloppy mistakes.  For me, I’ll do everything I can in C#.  The only thing I miss from VB is late binding to the Office products.  C# gives me the advantage of being much easier to read (less verbose) and the upgrades are much cleaner.  C# also ‘seems’ to promote better reuse practices and OO techniques.  As I said in the beginning, this is just my opinion….


About JohnHowell

I am a professional software developer with over 20 years of experience. I currently specialize in Microsoft technologies such as VS, TFS, C#, VB.Net, WCF, WPF, WW, etc.
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to C# v/s VB.Net

  1. B. Lesnar says:

    Very old post…. but I had to go back to it…. late binding is today’s dynamic type 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s