At the company where I work, we have a number of legacy apps written in Visual Basic 6.0. Without casting aspersions on the developers who wrote them, suffice it to say we have decided to rewrite the applications from scratch due to several compelling factors:
1.) Lack of documentation.
2.) Lack of exception handling.
3.) Lack of logging.
4.) Lack of extensibility.
Because these applications have a lot of duplicated code shared among them (copy-paste reuse), we want to rewrite it in a way that emphasizes reusability, testability, and extensability. I am therefore considering a move away from VB 6.0 and into .NET. That leaves me with a choice between VB.NET and C#. The development team is open to suggestion. However, they have no familiarity with C#, and are more familiar with Visual Basic (classic). In either case, they'd have to learn .NET.
Teaching is not my issue. I've done it before, and I have no qualms about doing it again.
It bears noting that the source code is going to have to be rewritten, because a redesign is called for. So, at this point, we get to choose which language we want to use. I am personally leaning towards C#, feeling that it enforces more disciplined coding practices (it's a more intrinsically type-safe language and comes with a far stricter compiler).
I am, however, very interested in the thoughts of my peers before I make a decision. So, if you have done this before, or if you have any words of wit or wisdom to impart, I'd really appreciate it.
I suppose, in closing, that the question is, which language would you go with if you had the opportunity to make a clean break from VB6.0 and move to .NET?
UPDATE: I apologize if anyone thinks that I started this thread for the sole purpose of being argumentative. That was the furthest thing from my mind. Instead, I wanted to make sure that I was making the right decision at a crucial point in our company's decision making procesesses. To do so, I thought it best to seek input from those who had been through the process themselves. Stirring up strife was the last thing I wanted to do.
Thank you all for your input. It was thought provoking and I'll be going over it with my colleagues as we select a language for our future development.