Why don't developers switch/migrate/convert from VB6 to VB.NET?
IMHO, it’s because converting (both projects and your mind) to VB6 to .NET is hard.
- VB6 existed for one reason and one reason only – to hide the complexities of COM.
- VB6 was the Matrix, while VB.NET is as powerful as C#. Some folks say, well, while I'm here, I'll just move over to a language with "C" in it, and maybe I'll get more money?
- VB.NET aims to hide nothing – and the exposure is scary to many.
- VB.NET looks like VB7 - but it's not.
- VB6 solved the problem of multithreaded Windows Forms by not allowing it.
- VB.NET’s WinForms and the BeginInvoke, AsyncResult, and InvokeRequired of it all is complex for anyone, especially a VB6 Mort.
- VB6 is used by places like "Podunk County School District" and "Whatever, Kansas Dept. of Forestry." These are places where Microsoft Access is fine, therefore VB6 is "fine."
- Until Microsoft explains why VB6 isn’t "just fine" – folks will linger.
- The Migration Path is not clear and VERY complex – if you did anything funky with OCXs, or if a component vendor didn’t provide you with a migration path, you’re screwed.
- The Migration Wizard is an amazing chunk of work, but the 20% edge cases are hard.
- Making no decision at all is an implicit decision. Many VB6 developers are paralyzed. That is a decision not to move forward.
- Safety first, and safety in numbers.
What do you think? Do you have buddies that are still on VB6? What are they doing it about it? Is VB6SP5 "just fine"? Is VB6 a technology that Microsoft should continue to support?