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 [email protected].

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 language—just 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.

About the Author

This story was written or compiled based on feedback from the readers of Visual Studio Magazine.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube