It's been 20 years

Happy New Year! 2019 is here and it is almost 20 years since the last major release of Visual Basic classic (VB6). Companies have been implementing business functionality as VB6 (or ASP classic) code for over two decades. And while these legacy applications are essential to business, their dependence on VB6/ASP/COM is a serious risk for the users of these applications. Recent trends in computing and shifts in the developer community make VB6/ASP modernization an urgent priority -- more than ever before. This email presents a business case for upgrading VB6/ASP/COM systems to .NET and describes how Great Migrations can help.

Technology Trends

Our expectations for computing have changed dramatically since the turn of the century:

  • Several Major Windows OS changes: XP, Vista, Windows 7, Windows 8, Windows 10
  • Critical focus on cyber security and privacy
  • Profound advances in web application design and browser technology
  • Ubiquitous internet: IoT, web-connected applications, web services, mobile and smart devices
  • New cloud computing and virtualization platforms: Azure, AWS, Docker
  • Improvements in user experience: Voice, Touch, Gestures, Vision
  • Changes in deployment: Automatic Windows Update, Roaming Realtime Personalization, Installations from App Stores, SaaS
  • Cutting-edge computing: Machine Learning, Hive Computing, Robotics, and Augmented Reality

The Windows platform continues to diverge from its 32-bit roots and, in the process, it becomes less compatible with VB6 and COM. January 2020 will bring the End of Windows 7 Support. We already have people telling us that their VB6/ASP applications no longer work reliably and fail to meet expectations for security and usability. Those problems will increase as more people upgrade to the latest Windows OS and find that their out-dated applications do not even install let alone function correctly.

Meanwhile, Windows development for .NET continues to evolve. The .NET community is growing and creating commercial and Open Source compilers, frameworks, applications, and development tools. .NET development is now possible on multiple platforms: Android, iPhone, Linux and MacOS -- besides Windows.

Finally, we continue to enjoy great advancements in the ways teams build software: improved DevOps and Collaboration, Continuous Integration, automated testing, integrated application monitoring, and sophisticated design patterns. Optimized for.NET, these advances cannot be fully utilized on the VB6/ASP/COM platform.

This is progress, but technology for technology's sake does not pay the bills. Reliable, accurate functionality for your users is what matters most. As long as your functionality remains locked up in out-dated technology, it will be difficult to maintain service levels, let alone deliver the promises of contemporary computing.


The Case of the Disappearing VB6 Programmer

VB6 was designed and optimized for COM and Windows XP. It was very popular in the 1990s, but it started to fall out of favor in 2002 when Microsoft released .NET. The official end-of-support for VB6 was over 10 years ago, in April 2008.

Developers generally prefer to work with well-supported, marketable technologies. Finding people who are both willing and able to work with VB6/ASP is getting harder and it's only a matter of time before VB6/ASP development activities fail due to lack of resources. If you have VB6/ASP experts working for you, it may be a good idea to begin your modernization efforts now, while those folks are available to help. You may also consider using gmStudio to help you "cash-in" your legacy codes and get the job done faster with less cost, risk and disruption.

At its peak, there were over three million developers writing VB6 code. Maybe you were one of them; I was. Today, most working Windows developers never used VB6 and those who did have gone on to learn .NET. VB6 as a mainstream development tool is history, and the same can be said about ASP Classic for web development. As shown in the schematic, the assumed diminishing size of the VB6 community may not be far off from the actual attrition.

Estimated Numbers of Willing and Able VB6 Developers over time

A Major Advancement in VB6/ASP/COM Transformation Technology -- Upgrading VB6 Forms to WPF

gmBasic is a powerful code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems for .NET -- as either C# or VB.NET code. gmBasic is extremely fast and accurate, but its most powerful feature is flexibility arising from an open COM type system, a modifiable VB6/ASP metalanguage, and customizable upgrade scripts.

In 2018, GM made another major breakthrough: gmAPI, a .NET API for automating the gmBasic engine and accessing the semantic models produced by our linguistic compilation technology. Development teams may now use the Visual Studio IDE to integrate gmBasic translation technology with .NET platform features and create sophisticated upgrade solutions that do deep refactoring like upgrading VB6 Forms to WPF and restructuring logic with custom COM API replacements.

gmStudio users have already used the gmAPI to implement very large, multi-feature upgrade solutions. See for example this case study about a large VB6/Forms to C#/WPF upgrade.

gmStudio Components

 

This is a copy of the Annual News Letter for 2019