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

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube