Bring back Classic Visual Basic, an improved version of VB6
The silent majority of VB6 users did not ask for changes that came with .NET
We request Microsoft brings back classic Visual Basic as COM development is back with Windows 8.
David Platt wrote an excellent article about why classic VB still thrives:
We have read all of the comments on this thread and I’d like to thank you for providing your constructive feedback on this issue. Instead of merely repeating our support and migration guidance that has been laid out on http://msdn.com/vbrun, I’d like to address some of your specific comments here.
To play back the feedback themes we’re hearing:
- VB6 is awesome
- VB6 needs to be brought forward and maintained: in a new release or OSS
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. 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. VB6, as you all have stated repeatedly in this thread, is an excellent tool for solving the problems of its day. We also stand behind our decision starting in 2002 to meet the current demands of our developers and the industry with .NET. For the scenarios VB6 set out to do, we see VB6 being “complete”. We feel good about VB6 being able to continue maintaining their applications for the past 15 years. Current needs ranging from distributed applications and services, to web applications and services, to devices, to new architectures and languages, required fundamental changes to the whole stack. We looked at how we could accommodate these needs through incremental changes to VB6 while maintaining its essence, and that was not possible.
To address the modern needs we would need to go far beyond updating the language. We have to remember that VB6 is not just a language. VB6 is a language, a runtime, a platform library, a tool/IDE, and an ecosystem tightly packaged together in a way that made all of them work well together. We’ve worked with many customers on migration from VB6 to .NET and found that while yes, there are language changes, the dominating factor in migration difficulties isn’t the language differences. Even open sourcing the language/runtime wouldn’t solve the fact that VB6 was thought for a different set of problems, and the fact that its strength came from the end-to-end solution provided by all these five pieces working together. Take a change like 64bit, the complete runtime, tools and ecosystem chain would need to be retooled.
So, moving forward what can we do? Where we have been able to help move forward is in our stance around support and interoperability. The VB6 runtime it is still a component of the Windows operating system and is a component shipped in Windows 8.1. It will be supported at least through 2024. This ensures your apps and components continue to run as you incrementally move forward to .NET. The support policy is here: http://msdn.microsoft.com/en-us/vstudio/ms788708. There are numerous interop strategies that we developed and evolved to enable incremental migration as you upgrade your skills, described here: http://msdn.com/vbrun.
In summary, VB6 was awesome. We agree. We don’t expect or demand anyone to throw away their code or rewrite from any of our technologies unless it makes business sense for them to do so. We have to innovate to enable our customers to innovate. It is not a viable option to create a next version of VB6. We stand by our decision to make VB.NET and the .NET Framework. We think they are awesome too. It is not feasible to open source VB6 tools chain and ecosystem. The VB6 runtime was last shipped in Windows 8.1 and will be supported for the lifetime of Windows 8.1. Support and interop are great tools to move forward incrementally.
I hope you feel we’ve listened to your feedback and that I’ve explained things well enough that you understand our decision.
Group Program Manager
Microsoft Visual Studio Cloud Tools
Johnny OL - I support VB6 programming commented
>> There was never sufficient demand for VB.Net. VB6 developers never wanted it.
Microsoft misjudged the market. Without persuading VB6 users to move there was no chance that VB.Net could be successful.
>>Worse thing was Microsoft were never nimble enough to correct their mistake. They persisted with the unpopular VB.Net. They failed.
Agreed, one of Microsoft's many poor decisions.
"As Dan Appleman said 'I think it’s pretty clear that anyone who has thousands of lines of code invested in VB6 is probably not going to invest in porting. It simply isn’t worth it - pure cost, and probably no improved performance.' "
Exactly that. Daniel Appleman was right. It was never going to happen that the bulk of VB6 code would be rewritten in a new language, whether VB.Net or any other language.
Without the ability to automatically update to a new version of their developer tool, applications remain in the language they were written in.
The effect was that developers didn't (by and large) migrate applications to a new language (that old cost/benefit thing). So they were then in the position of having to continue with VB6 for existing applications and having to decide what to do for new applications.
Many consider VB6 unsurpassed for Windows desktop development and instead of regressing to a less capable language chose instead to adopt other languages that widened (rather than narrowed) our skills - in my case languages for web and mobile development, while retaining VB6 for Windows.
"Given your demonstrated ignorance about modern software development..."
It is you who is are stuck in the .Net ghetto.
I have already listed the languages I use. Apart from VB6 they are all non-Microsoft languages.
You are the one demonstrating your ignorance about modern software development by persisting with the declining C#.
M. Webb commented
Microsoft lost many of their VB6 developers. Once it became clear that Microsoft were not going to release an updated version of Visual Basic, many moved to other languages (or added other languages to their portfolio), many stayed with VB6, few moved to the disappointing VB.Net.
As Richard Collier says "Microsoft never again dominated software development."
You can only wonder what the story would have been had Microsoft offered C# (a fine language, despite its detractors) together with an updated VB6 language (instead of VB.Net).
I suggest there would have been even more C# users than their are today (Microsoft wouldn't have gained its reputation for abandoning developers. Once you lose trust, it is hard to regain it).
Even more importantly Microsoft would have retained the bulk of its VB6 developers who would have been able to move their legacy software forward to an updated VB6.
The 3% would largely have gone to C#, the 97% would largely have gone to the updated VB6. Few would have been lost to non-Microsoft languages.
It was yet another Microsoft marketing fail, losing millions of customers and losing trust.
M. Webb commented
@Microsoft, update VB6 programming & VBA programming
Good to see Microsoft have updated their VB6 support statement to include version 1709 of Windows 10.
Microsoft's support statement for VB6 programming is available here...
Support Statement for Visual Basic 6.0 on Windows
- Note: The support policy below has been updated with Windows 10 version 1709 support information.
The Visual Basic team is committed to "It Just Works" compatibility for Visual Basic 6.0 applications on the following supported Windows operating systems:
Windows Server 2016
Windows Server 2012 including R2
Windows Server 2008 including R2
The Visual Basic team’s goal is that Visual Basic 6.0 applications continue to run on supported Windows versions.
As detailed in this document, the core Visual Basic 6.0 runtime will be supported for the full lifetime of supported Windows versions, which is five years of mainstream support followed by five years of extended support.
The VB6 runtime will ship and will be supported in Windows 10 for the lifetime of the OS (that is until at least 2025).
The VB6 runtime will ship and will be supported in Windows Server 2016 for the lifetime of the OS (that is until at least 2027).
The latest release of the utility to install the VB6 programming IDE on Windows 7 and Windows 10 is available here...
Visual Studio 6.0 Installer wizard v.5.0
This release has been tested on Windows 10 v1803
Microsoft always had the right words, but rarely the right actions.
"Ours is an evolutionary approach, not a revolutionary approach that suddenly makes old software obsolete. We’re committed to making it as easy as possible to adapt current software, without losing anything in the process". - Tom Button, Group Product Manager for Applications Programmability Product Unit (Microsoft).
Microsoft always had the right words, but rarely the right actions.
"When you’re a developer, it’s very important to connect to infrastructure and to people as well, and for developers it’s important to preserve their investments in existing code." - Eric Rudder, Senior Vice President, Microsoft
>> VB6 had 6.1 million users.
>> VB.Net has less than 200,000.
>> That's what happens when you listen to the 3% not the 97%.
Yes, Microsoft declined to find out what their customers wanted, instead they listened to the MSDN Magazine camp (the 3%).
They believed what the likes of Bill Storage told them, instead of asking their actual customers.
Microsoft never again dominated software development.
Steve Ballmer (then Microsoft CEO) said "we have to make sure that we don’t let you down". He and Microsoft failed.
As Dan Appleman said "I think it’s pretty clear that anyone who has thousands of lines of code invested in VB6 is probably not going to invest in porting. It simply isn’t worth it - pure cost, and probably no improved performance.".
@VB6 programming just got a big boost from Microsoft
>> "In a number of important ways, .Net is a failure.
>> Think back a decade or so ago. As you may recall, .Net was supposed to be much more than just the next version of Windows DNA or COM+ or COM. It was supposed to destroy Java, extend the Windows platform, and secure the Microsoft monopoly for another decade or two."
>> "Unfortunately, .Net also cannibalized Microsoft's most successful corporate IT development environment, Visual Basic. Look at Indeed's Job Trends, Tiobe, and so on, and you'll notice that .Net's rise is all about Visual Basic's decline. There isn't a lot of correlation between .Net trends and Java's bumps and bends."
It seems to me you are trying to promote the failing .Net.
It's time you accepted that .Net is declining. Time to look for a new job before you too are 'easily fired'.
Joe Bolton commented
Which is more likely to be true?
1. Your company tolerates incompetent C# developers when they could easily fire them and hire ones who could deliver well performing, bug-free software like I do all the time.
2. You just pulled that story out of your rear end.
Given your demonstrated ignorance about modern software development I'd say #2 is far more likely.
">> That's existing APPLICATIONS they're supporting, not the development system.
If I create a new application...then it exists. Interestingly, they work as good or better than my Python, C, PHP, Java and other enterprise business applications I create."
Microsoft have this strange support requirement for VB6 applications - that the software must exist before MS will support it!
I'm truly disappointed that Microsoft won't support vaporware ;)
The point is that the VB6 programming IDE works on Windows 10, just like it worked on all previous versions of Windows back to Windows 98.
So next week, next month or next year, when you develop a VB6 application Microsoft will support it!
"It is quite obvious that neither one of you are professional developers"
Because we can, single-handedly, develop software more quickly, with better performance, that does what the users want?
While a team of .Net developers take longer to develop the same software, that software runs slower, it has bugs in it, it doesn't have all the features it should have, and the users reject it?
So which is the "professional" software?
>> That's existing APPLICATIONS they're supporting, not the development system.
If I create a new application...then it exists. Interestingly, they work as good or better than my Python, C, PHP, Java and other enterprise business applications I create.
Another HUGE phenomena I find with VB6 is that I can create applications faster than anything else I use.
Joe Bolton commented
It is quite obvious that neither one of you are professional developers.
Lofaday - 0AV com - new IDE abandoned commented
@Jean, ditto, precisely ditto. :-)
I've lost count of the number of times I have quickly prototyped a system using VB6 to show the C# development team what is required.
While they are working on that, the VB6 prototype is used as a temporary system.
Users are usually so happy with the temporary VB6 system that when the C# system is eventually ready the users reject it because it is slow, buggy and doesn't have all the features of the VB6 system.
"VB6 rocked then. It rocks now. I use it right along Python, BASH, PL/SQL and everything else I use. What a great tool in my programming tool-belt it has been."
"I can rapidly create rock solid applications with VB6 crazy fast."
Speed of development was always the big thing about VB6 programming. Just so much quicker than .Net if you want to develop Windows applications.
And performance can be stunningly fast too, as it should be since it uses the C++ compiler.