I remember back in the 90’s when those in the technology industry were decrying COBOL and how much of our infrastructure ran on that aging platform. This, of course, was exacerbated by the Y2K bug as the rollover to the year 2000 really put a face on just how old COBOL really was/is (2000 put that face on many other things as well).
Enter Visual Basic 6.0 – also known as VB6. VB6 was released by Microsoft in 1998 as part of Visual Studio 6.0. VB6 had several shortcomings. Among them:
- Not a fully featured object-oriented programming language. VB6 did not fully implement inheritance, for example.
- Not a stable programming environment. VB6 would sometimes crash costing the programmer hours of work if it was not already saved.
- VB6 allowed many dangerous programming habits. For example, the way it treated NULLS and its implicit type casting.
Despite all these failings, VB6 was used by tens of thousands of programmers for projects ranging from small calculator programs to software that, even today, runs major businesses – including banking. Because of its simplicity and the way it hid so many of the more difficult aspects of programming, VB6 allowed people who never would have given programming a second thought the chance to create major software. In VB6, you were never expected to handle pointers, do recursion, or do your own garbage collection. VB6 hid all those things from you. With such ease-of-use that allowed even mediocre programmers to develop complex programs with user friendly graphical user interfaces, it is no wonder that there are probably millions of lines of code written in VB6 running today. It was cheap and easy to get otherwise hard stuff done.
But, like all other things in the computer world, life moves on – very quickly. VB6 was replaced by Visual Basic .Net in 2002. Today, Visual Basic 2012 is about to be released in a couple more months. Looking at Visual Basic 6.0 side-by-side with Visual Basic .Net is like looking at night and day. Visual Basic .Net is a fully object oriented programming language with all the modern bells and whistles that come with that title. Indeed, VB .Net is right on par with other languages such as C++, Java, and C#.
However, what about all those programs written in VB6? Many of them – too many – are still here. Major corporations such as Corning, Guildford Mills, General Motors, etc. still have entire sections of infrastructure based on VB6. Those sections of infrastructure have been in use for years and years. It’s very difficult to incur expense in the form of not only new programming talent, but also in the form of downtime to replace these sections of infrastructure that have been running for years and years. Not only that, but in many cases the original programmers aren’t around anymore. They’ve either quit, retired, or gotten laid off and refused to come back when the company realized the mistake of letting them go. So now we have entire sections of infrastructure to maintain, and try to replace, yet those with the experience on how it all runs are no where to be found.
The same thing happened with COBOL. And, yes, COBOL is still in use today. VB6 is truly the COBOL of our time because it was good at what it did. It allowed people, even those that weren’t good programmers, to come up with simple solutions to hard problems without breaking the piggy bank. Something tells me that in the year 2020, VB6 will still be here.