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….