Discouraging Moves From VB6 to C#
A VSM reader argues that Java and C/C++ developers should move to C#, while VB programmers should stick to VB.NET.
Letters to Visual Studio Magazine are welcome. Letters must include your name, address, and daytime phone number to be considered for publication. Letters might be edited for form, fit, and style. Please send them to Letters to the Editor, c/o Visual Studio Magazine, 2600 El Camino Real, Suite 300, San Mateo, CA 94403; fax them to 650-570-6307; or e-mail them to firstname.lastname@example.org.
Discouraging Moves From VB6 to C#
An important point is being missed in all the banter about continuing VB6 vs. .NET.
A lot of companies that have been developing in VB6, including n-tier ASP, are telling programmers that the move to .NET will also be a move to C#. IT and non-IT managers are hearing that C# is the only way to go for .NET development, and they jump on the bandwagon without thinking it through.
I do not see Microsoft and magazines such as VSM clearly making the point that moving VB6 code to C# is not the best migration path. C# is the best for code and developers coming from a Java or C/C++ background, while VB.NET is the best migration path for code and programmers coming from a VB background. That is the primary idea behind languages in .NET: Keep the language you have, and move it forward to .NET, whether VB, Java, C++, Cobol, Delphi, or others for which there is a .NET upgrade. Moving from VB6 to C# goes completely against common sense.
In addition, VB.NET wisely retains a coding style that is more efficient than the ancient curly bracket style of C#.
In short, managers need to hear that if they intend to take their existing VB6 code and VB programmers and force them all to migrate to C#, the project will take longer, cost more, and be more likely to have more bugs due to the longer learning curve for VB developers to learn a more primitive style of coding.
Microsoft needs to make it clear that, except for a few minor and obscure differences, VB.NET does everything C# does and more (especially in VS 2005). There is no loss of speed or capability by using VB.NET.
My concern is that a lot of companies are buying into the hype about C# and forcing it on their IT developers, resulting in higher costs and projects arriving later to market. The natural outcome, then, will be managers and programmers who will blame Microsoft instead of taking responsibility for having made the wrong decision.
I am not saying C# is a bad languagejust the opposite. For Java and C/C++ programmers, it is a great move forward. But it is not an advance over VB.NET, and Microsoft needs to make that much clearer. Microsoft failed to make the advances of VB6, n-tier, object-oriented programming, and Web classes more visible to ASP developers, and as a result, a lot of ASP projects are still spaghetti code. It is interesting that n-tier ASP projects using Web classes have a natural migration path to n-tier ASP.NET using Web Forms, because the fundamental architecture is the same.
No wonder a lot of VB6 programmers want to stay with VB6. Microsoft is not doing much to help companies understand the proper role of language selection in the growing .NET market.
Jeff Jones, Roswell, Ga.
This story was written or compiled based on feedback from the readers of Visual Studio Magazine.