The modernization of Visual Basic application
Grzegorz Papaj, 1 March 2019
At the time, when web technologies haven’t been widespread yet, one of the most popular technology to create business apps was Visual Basic. Nowadays, there are still plenty of systems written in this language, however their days are numbered. Microsoft has not officially supported the VB 6.0 development environment for over 10 years.
Lack of VB 6.0 support – what exactly does it mean?
Lack of support doesn’t mean that applications written in Visual Basic stops working. Microsoft still guarantee that programs written in Visual Basic 6.0 run and will be in the future, not only on the old versions of Windows, but also on new ones, up to and including Windows 10. In fact, Microsoft only stopped supporting Visual Basic 6.0 IDE, in other words for development environment starting from Windows Vista.
The thing is, that VB 6.0 IDE isn’t only used to create new Visual Basic programs, but also to modify already existing systems. And although it is possible to run the Visual Basic IDE on some newer Windows system, Microsoft doesn’t guarantee their proper operation in any way. In addition, programs written in VB6 compile only to 32-bit programs, while today the 64-bit processor architecture dominates.
More about support for Visual Basic is on the official Microsoft website.
In practice, lack of support means slow death of all existing solutions written in Visual Basic 6.0. Although the program written in VB6 still works and potentially can work for long years, its modification can be bothersome, because it is going to be much harder to start development environment. Nowadays mostly used way around the problem is setting up a virtual machine with Windows XP, on each VB 6.0 IDE works correctly. It is troublesome not even technically but organizationally, because it’s getting harder to get Windows XP.
If you have an application written in Visual Basic in your company, maybe it is better to think about migration to new technology.
Visual Basic 6.0 transfer
If you want to migrate VB6 system, you should follow these steps:
- overcome current problems,
- define a development plan,
- choose the targeted technology,
- run a migration.
Overcome current problems
Usually, the systems are started to be thought as old when they are making problems which cannot be removed in easy way. Nevertheless, if something in the system is deficient, removing current gripes should be a priority. Only after extinguishing the fires you can think about next steps.
Consider that after extinguishing the fires, you will start to see the system in different way. Even maybe you will give up on migration or ban it for some period of time.
If we are working on old system, certainly it will come to your mind that it can be extended with new functionalities. You have already had that list for sure. It is worth to stop here for a moment and take into account trends and technologies development. Maybe such system extensions which haven’t been dreamed by anyone 10 years ago and today are obvious will come up to your mind? For example mobile technologies.
The targeted technology
It is worth thinking longer about targeted technology because there are plenty of possibilities. Learned by experience, first think about technologies which doesn’t age quickly.
Classic Visual Basic has left several heirs. The most important are:
- Visual Basic .NET,
- VBA or Visual Basic for Applications,
Visual Basic .NET as name suggests, is one one of the languages of the .NET platform which significantly expand the possibilities of VB6 with the similar syntax. It is an independent language of general use. The Visual Basic implementation is expected to be still a long time in use because the .NET platform is very popular.
VBA is Visual Basic implementation used to write MS Office extensions (mostly often MS Excel). Its usage is quite seriously limited because of lack of ability to compile to unaided programs.
And finally migration. So firstly creating a new system, the data transfer and finally the production start-up of the entire system. But this is a topic for a separate article.