Desmond File

Blog archive

VB6 Migration Challenges

Not to lean on the topic of the Visual Basic .NET programming language, but earlier this week I had a conversation with Navot Peled, president of code migration tools provider Gizmox. His company's Visual WebGUI tool enables developers to move existing, rich-client applications to the Web or cloud.

The company just recently announced it was partnering with Tata Consultancy Services in Israel to provide a joint solution for migrating Visual Basic 6 and other legacy applications to .NET. The timing is no coincidence. Microsoft apparently has no plans to include the VB6 runtime with Windows 8. And with extended support for VB6 long since retired (back in April 2008), the risk of continuing to maintain even stable VB6 code starts to go up.

Even companies that are happy with their VB6 code bases face pressure to move on, said Peled. "Some of those organizations can not go on using an unsupported platform. From a banking perspective, the regulations won't allow it."

The problem is, the inventory of VB6 code out there is big. Really big. Like, 25 billion lines of code big.

"If you look at the business side of it, we are talking about around 25 billion lines of code in VB6," Peled said. "If you look at the customers that are running VB6 at the moment, one of them is the biggest bank in Israel. It is a core application."

So what advice did Gizmox have to offer? Itzik Spitzen, vice president of Research and Development at Gizmox, said organizations moving from VB6 to VB.NET or C# will face a multifaceted challenge, as they work through significant changes error handling and transition to an object-oriented programming environment.

"There are many technical challenges when it comes to reusing the code and taking it from VB6 to the .NET environment. It gets slightly easier to move to VB.NET, because VB.NET supports some of the old features and configurations as is," he said. "But if you really want to move in a way that takes full advantage of the environment and .NET, then the challenge gets much larger."

Spitzen said developers moving from traditional client-server build outs must be aware of the data limitations of Web and cloud deployments, as well as challenges that arise when application logic may be accessed by an unpredictable number of users over the public network.

"When we do this type of project we often find ourselves reengineering this specific part in order to improve the scalability of the application," Spitzen explained. "We have smart decision making tools, to control the size of data sets, etc. But people are often mistaking that."

Are you managing VB6 applications today, and if so, what are your plans going forward?

Posted by Michael Desmond on 03/30/2011


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