There has been a lot of controversy around the end of Visual Basic 6.0, a
language that was generally available since January 1999. Opposition is
comprehensible when you take into account that there is a huge VB 6.0 code base
out there. But when you look at Microsoft's Product Family
Life-Cycle Guidelines for Visual Basic 6.0, it is ultimately a very large
orphaned code base.
On previous posts, I've mentioned the End Of Life of VB6, referring
specifically to the official support phase. Microsoft's Visual Basic 6.0
support policy has been in effect since the release of Visual Studio .NET. The Mainstream
Phase, where standard support offerings were available (professional
telephone and online incident support, free critical updates and free online
self-help tools), ended on March 31, 2005. The Extended Phase began in
April 2005 and will end on March 2008. During this period, that is,
at this moment and for the next couple of months, standard support offerings
are still available, including Premier Support, paid telephone and online
incident support, and free online self-help tools. Free telephone and online
incident support is no longer being provided, and critical updates are
available for a fee.
Starting on April 2008, Visual Basic 6.0 will enter the Non-Supported
Phase, where support will no longer be offered by Microsoft. The Visual
Basic 6.0 family of products includes the Standard, Professional, and Enterprise editions of
Visual Basic 6.0. It also includes users of Visual Basic 6.0 who obtained their
licenses via Visual Studio 6.0 Professional and Enterprise editions.
Of course, you may be able to find support elsewhere; with such
a large code base, the community is a viable source for support. There is a lot
of self-help tools and content out there: articles, how-to guides,
troubleshooting information, frequently asked question lists, webcasts, and
more. But this might not be enough for companies with business critical
applications and/or subject to regulations, or ISVs whose customers will demand
the latest technologies without doubt.
End of support doesn't imply that you can't continue using the product; it
doesn't mean that the IDE will stop working, but it signifies that any existing
or new defects are unlikely to ever be fixed. You will not find any new Service
Packs, which keeps your product up-to-date with the latest collection of fixes
for the core product and components, since Microsoft stopped delivering these
after the Mainstream Support Phase. Finally, in the Non-Supported Phase, no
security fixes will be provided at all.
In the end, all this is only natural. There have always been
advances in software development capabilities, and the history of Microsoft's
Visual Basic has been no different. For example, for VB4 Microsoft introduced
32-bit address spaces. But in going from VB6 to VB .NET Microsoft did far more
than that. It re-wrote the whole product: VB.NET is, in essence, a totally new
programming language. It bears some superficial resemblance to VB6, but
underneath it is entirely predicated on the .NET Common Language Runtime (CLR)
and its data types; and at compile time, you have to use the .NET framework.
Visual Basic .NET is clearly a better language, with its improved error
handling and a much better development tool in Visual Studio. It's also
multithreaded and a true object-oriented programming language, which limits
backward compatibility.
Software assets represent a competitive advantage, and keeping up to date
with the latest technologies is crucial in today's business environment.
Precisely, Microsoft disclosed those guidelines to provide the advanced notice
required by many to make accurate information-technology and product planning
decisions within their organizations. So this is the time to stop developing
legacy applications in VB6 and assess the remaining VB portfolio for
modernization options. It might not be a trivial task, but there are VB to .NET
migration products and services that can definitely
ease the process.