VB6 Facts vs. Fiction
Overview
According to Microsoft "VB6 was and still is without a doubt awesome. VB6 made developers incredibly productive building a breadth of applications and as a result we have a wealth of applications and passionate developers to this day." That being said there are some misinformed individuals that bash VB6. The purpose of this page is to clearly detail the facts on VB6 by providing multiple credible sources not hearsay or conjecture.
Baseline Facts
- Microsoft released VB6 in 1998.
- Microsoft are committed to supporting VB6 until 2025 as they have committed to supporting it on Windows 11.
- TIOBE, codeproject.com, Google Trends and other sources show that VB6 is still one of the most popular languages.
- Microsoft and others feel that VB6 is one of best application development languages of all time.
- VB6 even today is still used in a multitude of mission critical industries including: banking, education, local\state government, military and NASA.
- Microsoft and the industries that rely on VB6 dont see it as a toy or anything less than a professional development system.
- Most VB6 developers are also adept at various modern computer languages including: .Net, Java, Python, PL/SQL, C, C++ and many others.
- Many VB6 developers are passionate about what they do and have a great appreciation for its ease of implementation.
- In many VB6 environments the clients hold the ultimate decision on whether to move any VB6 applications to another platform. Many have thus far chosen to keep VB6 in place because of the ROI. In some instances they see nothing to be gained moving perfectly working code to something else.
- Microsoft have declined any requests thus far to resume active support of VB6 or release it as open source.
Inferences
- If VB6 was not a professional world class language it would not have this level of popularity and industry impact.
- Many VB6 developers also develop .Net applications.
- Those clients that are not giving a green light to the developers to move VB6 applications to another platform are doing so because it meets their bottom line at this time.
- Some see a cost benefit to have their code run on Windows 95 to Windows 11 without having different run-times and code sets.
- Clients will ultimately have to make a decision by 2024 to have VB6 applications, that are to large and complex for conversion tools, moved to another platform.
- Most VB6 developers, as other programmers, are not lazy. It is because VB6 is such a potent tool in their toolbox that they use it.
Sources
Microsoft released VB6 in 1998.
Link: Wikipedia
Stable release: 6.0 / 1998;
Microsoft are committed to supporting VB6 until 2025.
Links: Windows 10 Support statement | Current VB6 Run-Time Support Statement
The Visual Basic team’s goal is that Visual Basic 6.0 applications continue to run on supported Windows versions.
With Microsoft now supporting VB6 on Windows 10 many are saying VB6 support has just been extended indefinitely. The most modest assessment is that VB6 will be supported until 2025 based on this support statement.
TIOBE, codeproject.com, Google Trends and other sources show that VB6 is still one of the most popular languages.
- Link: TIOBE
- Link: codeproject.com
- Link: Google Trends
- Others: 1 2 3
Microsoft and others feel that VB6 is one of best application development languages of all time.
Link: visualstudio.uservoice.com
VB6 was and still is without a doubt awesome. VB6 made developers incredibly productive building a breadth of applications and as a result we have a wealth of applications and passionate developers to this day in 2014. - Paul Yuknewicz, Group Program Manager, Microsoft Visual Studio Cloud Tools
Others: 1 2 3 4 5 6 (short list)
Wikipedia goes on to say:
In 2014 there are tens of thousands of developers who still prefer Visual Basic 6.0 over Visual Basic .NET. Moreover, in recent years some developers lobbied aggressively for a new version of Visual Basic 6.0.
The above statement lists 6 sources.
VB6 in 2016 is still used in a multitude of mission critical industries including: banking, education, local\state government, military and NASA.
This author has used VB6 in all the different environments I have worked which includes: banking, education, local\state government, military and NASA.
Then there are all the other thousands of VB6 developers and tens of thousands of created applications. If there is any doubt to the span of VB6 applications please refer to all the links on this page that connect to forums.
Perhaps Microsoft summed it up best when they said: VB6 made developers incredibly productive building a breadth of applications and as a result we have a wealth of applications and passionate developers to this day in 2014.
Microsoft and the industries that rely on VB6 dont see it as a toy or anything less than a professional development system.
Link: Microsoft
Paul Yuknewicz in referring directly to VB6:
One way I see our mission in developer tools is to empower developers to solve problems. This includes both today’s problems AND the problems of tomorrow. -Microsoft
The most productive tool for creating fast business solutions. Develop for Windows and the Web using Microsoft Visual Basic 6.0 Professional Edition. Create super-fast applications using native code compilation--all in a complete development environment. -Microsoft
Taken verbatim off the VB6 installation media\box.
Microsoft Visual Basic development system is a productive and comprehensive tool for creating fast business solutions for Windows and the Web. Its rapid application-development environment helps developers quickly create and deploy client/server applications, plus easily program for the Internet using familiar Visual Basic programming tools and techniques -Microsoft
Taken verbatim off the VB6 product description.
Googling "'visual basic 6" magazine ads" returns over 63,000 hits. No ads by Microsoft in VB6's active
development period or since portray VB6 as anything less than a tool for creating mission critical
business applications.
Most VB6 developers are also adept at various modern computer languages including: .Net, Java, Python, PL/SQL, C, C++ and many others.
Taking the time to read through VB6 developer related forum posts shows that they have and continue
to use languages other than VB6. In many environments VB6 is just a percentage of what they do. In
case you don't have time here is a sampling:
Visual Basic 6 Client/Server Programming Gold Book, (Publisher: The Coriolis Group) Author(s): Michael MacDonald and Kurt Cagle
I have a confession to make. As recently as a year ago, Visual Basic was not my preferred tool to develop client/server applications. I have been developing database applications for two decades and have used many languages and tools. While I will never claim to know it all, I have a good sense for what works in the real world and what doesn’t work. As far as client/server development is concerned, Visual Basic 5 seemed to me to be right on the edge as far as being a viable tool for large applications. Visual Basic 6 has changed my attitude.
The client/server developer needs a development tool, not a language. The tool needs to be robust, needs to support a myriad of different backends (data sources) and needs to be able to produce a variety of different types of applications from single-user desktop solutions to multi-tiered applications deployed on the Internet.
Many organizations have a significant Microsoft Visual Basic 6 code base and are seeking to make the best decisions regarding this legacy code. ... You can maintain a Visual Basic 6 application as-is, without incorporating any new technology into this legacy application. Or you can keep your Visual Basic 6 code, and interoperate with Visual Basic .NET to easily add any functionality from the .NET Framework to your existing application. -Microsoft
Many VB6 developers are passionate about what they do and have a great appreciation for its ease of implementation.
Link: visualstudio.uservoice.com
From Paul Yuknewicz, Group Program Manager, Microsoft Visual Studio Cloud Tools
VB6 was and still is without a doubt awesome. VB6 made developers incredibly productive building a breadth of applications and as a result we have a wealth of applications and passionate developers to this day in 2014. -Microsoft
Ed commented · February 23, 2015 07:33
VB6 is an amazingly architected piece of software. ---Simple. ---Powerful. ---Reliable.
Kevin Matney commented · February 19, 2015 17:46
I've been working with VB.Net for a few years, but still maintain (and update with new features!) a lot of VB6 programs. I was pleased that all of my VB6 programs work fine in Windows 10, so that's another 10 years I'll be working with VB6
Gary Nelson commented · February 19, 2015 1:13 AM
I hadn't been here for a very long time but it's nice to see people still defending vb6. I've written a lot of .Net code, but to this day I still make more money from my vb6 programming than from my .Net programming.
Me commented · February 17, 2015 13:59
I am a university professor and I have no shame in VB6. I like VB6, yes ! I do not know from where this idea of shame has come forward. I used to do real-time applications for students (I do that now too) and they (almost all with java background) remain stunned how fast I was making the applications for them (mainly algorithms - GA,NN, HMM, MC and so on).
In many VB6 environments the clients hold the ultimate decision on whether to move any VB6 applications to another platform. Many have thus far chosen to keep VB6 in place because of the ROI. In some instances they see nothing to be gained moving perfectly working code to something else.
If one takes the time to read through amply available forum posts, this is recurring theme in VB6 developer related forums.
Link: visualstudio.uservoice.com
Mary commented · February 26, 2015 14:05
Are you saying I should change my job because 5% of the applications use VB6 and my employer is not changing this because they feel the ROI to rewrite them to something else is not justified?
Link: stackoverflow.com
MarkJ commented · Apr 6 '11 at 8:54
I think Visual Basic 6.0 applications will live for a long time, like COBOL applications, and for similar reasons. Parts of my company's products are still VB6, and they won't be changed until there's a good reason. We're hoping Microsoft won't be able to drop VB6 support for a good while because too many of their enterprise customers have VB6 apps. They've already been forced to extend the support period beyond their original plans.
Miscellaneous Related Quotes and Their Sources
Alan B commented · Sep 14 '12 at 11:04
When you join the working world of software development after university, you will realize that there is a staggering amount of snobbery and elitism around. You have to be seen to be using the trendy scripting language du jour, functional programming, whatever it is this week. While lying around on beanbags in your startup, not doing much work and hoping to be the next FaceBook.
As you get older you realize that the best approach is to use the right tool for that job, whether that's assembler or COBOL or VB6, Ruby, JavaScript.
Jon Hopkins commented · Nov 11 '10 at 9:35
1) VB was always designed as a tool to allow people to get results quickly - both in terms of learning curve and development time. While this is great in some ways the options it gave you to cut corners (which were in many cases the things which increased productivity) were too tempting for a lot of people even when they weren't appropriate.
2) It was massively popular, at it's peak the most popular language on the planet. Given that a reasonable proportion of all programmers are bad (and especially as VB did many things which increased the chance that it would have a higher proportion than average), the largest language stands a pretty good chance of having the largest number of bad programmers.
3) Some of the default settings encouraged bad practice. For instance by default variable declaration wasn't required (it would automatically come into existence the minute you used it, no need for any Dim iThingy as integer, or even just Dim iThingy as you didn't need to say what variable type it was if you didn't want to). Anyone decent turned it on (or just typed Option Explicit at the top of each module) but be default you didn't have to.
4) In the same way VB just had some unpleasant bits in the language and tools. "On Error Resume Next" (basically ignore errors) was over used, the fact that you had to use Goto for error handling and that even done well it was still a bit of a mess, the fact that there were a few too many controls that made simple things even simpler when people might have been better served actually thinking about things a bit more and coding from scratch, the fact that it was very forgiving (so to set the text value of a text box you could just use Text1 = "blah" instead of Text1.Text = "blah") which could lead to laziness and code that wasn't as readable as it could be.
5) Many people came to VB through VBA in Office. The chances are that if you learned to program throwing together macros in Word, then you never had to learn great programming practice and you might never have seen the need when you scaled up.
6) And as part of this when VB4 came along and added object orientation (not really proper object orientation but a bit of it) it did so in a fairly crappy way (no polymorphism, no inheritance, all the old non-OO stuff remained which meant it was very take it or leave it and mix and match). This meant that if you were the sort of developer who did bad things, you could now also have bad OO habits.
But none of these things made you write bad code. I worked with VB for a decade and wrote, and saw other people write, plenty of good workable code that did well in production and was supportable and maintainable.
The bottom line is that bad programmers write bad code, good programmers write good code. The tools may make it a little easier or a little harder but it's the individual who writes the code and the individual who should take responsibility.
From the article "Visual Basic 6.0: A giant more powerful than ever" - ISpliter, 14 Jan 2014
Released on the market in mid 1998, Visual Basic 6.0 (abbreviated VB6) has been and it still is the most successful version in the history of Visual Basic. The VB6 compiler has been designed to satisfy the slow processors of the late 90’s (800MHz – 1300MHz). Fortunately, compilers do not get old (ie. ADA – an "old" compiler underlying F22's raptor on board equipment, or Fortran and COBOL - which are widely used)1-3 . This throws us into an older conclusion, namely if it is new it is not necessary better.
From the article: "Microsoft and the abandonment of Visual Basic 6." by Tim Anderson
It sounds like perfection. Microsoft had perhaps the largest number of developers in the world hooked on a language which in turn was hooked to Windows. Yet Microsoft took this asset, of incalculable value, and apparently tossed it aside. Back in 2002, it announced that the language was to be replaced by something new, different and incompatible. That caused rumblings that continue today. Developers expressed emotions ranging from frustration to anger. They felt betrayed.