Just came across this post on the subject. Thought it had already been done to death. I' d say one thing though. Its very easy for most VB (pre .NET) folks to continue doing procedural programming when they move to VB.NET since they have a largely familiar environment. Note, this does not apply to good programmers and those who understand and appropriately apply OO. Getting VB programmers to move to C# shakes some of them up a bit and causes them to get a little more into the OO world which, within the service boundary, is still a great way of designing maintainable programs. If I had a choice in the matter, when working with a team of existing VB programmers, I would plump for moving to C#.