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
Ray Erasmus commented
From GWBASIC through VB2 to VB6 and with 25 years development (and still developing) I simply can't re-write my code. Yes it runs on Win8 64 bit and anything down to XP. I'm 63 now and don't have the time nor the urge to learn VB.NET, which is not VB at all. Many have tried to jump onto the bandwagon to create something similar to VB6 but all have failed because VB6 is simply the best **** compiler ever made with an absolutely awesome IDE. What we need is VB7. Microsoft, put your pride in your pocket and admit that you have taken the wrong route with VB.NET. You have lost many thousands of potential great developers now using competition OS and compilers due to freaking VB.NET that you pushed onto us. If you release VB7 they will be back. You created a gem then threw it away to create an abortion - in the name of progress. You failed. Fix it, and fix it fast!!!
Miquel Matas commented
Why Microsoft .Net failed
Why WinRT in Windows 8 is based on COM instead of .NET
I have an additional request. Please purchase the DOS emulator, DOSBox, then use your vast resources and corporate might to turn it into the best DOS emulator this planet has ever seen. And, make it available as an intergrated part of all future releases of desktop Windows. Make it to where it will run (and run well) any DOS application, not just games. DOSBox works great with games but is ****** with most business and other types of applications. Hyper-V is too cumbersome to setup and deal with in contrast to DOSBox, as you have to go through to many steps to get data in and out of any virtual machines. Make DOSBox compatible with 16, 32, and 64-bit DOS apps, and perhaps base it on DOS 7 (though 6.22 is my personal favorite). Why the 64-bit compatibility? Some of us who grew up with and became additced to the DOS environment still L-O-V-E its simplicity and nostalgic feel, and would like to be able to create new apps for it. Come on, Microsoft. Win back your loyal customer base. Do this thing with DOSBox. And as with my earlier post about bringing back VB6 with x64 capabilitites, as well as a "Visual" version of C and MASMx64... strip away all this usless .NET bloatware, bring back COM and create the baddest-*** programming environment man has ever seen. ****, if you want, you can even create a COM Store like the Metro Store where we can sell our apps through you and you get a small cut...
.NET was the worst mistake Microsoft has ever made. That was of course, until it came up with the Metro platform being put on desktops. Businesses and desktop users alike are now dropping Windows like a virus. I'm now in the process of getting myself aquainted with Linux. The COM platform was the best idea Microsoft ever had. We can't help it if a few too many wannabe programmers were too lazy to exude the initiative in order to learn and utilize its intricacies...
Bring back VB6 x64 and VC++ MFC x64. While you're at it, since both C and Assembly language are making a huge comeback due to programmers finally becoming sick and fed-up with bloatware, how about you include various templates or wizards for MASM x86 and x64 within the VS IDE just like you have for all the other VS languages. I'll go you even one better - how about you create a "Visual" version of MASM x64 that works similar to Visual Basic? Some small guys have already achieved this as they're making Microsoft look bad and behind with the times. Microsoft has it within its own power to have the largest and most loyal group of customers on the planet. That's if, Microsoft would quit cutting off its nose to spite its face. Here's a hint, Microsoft: Not everyone wants to do their work on a ****** notebook. Most people, especially us engineers, still like desktops with multiple monitors. And not everyone wants to, or has the ability to, remain connected to the freakin' internet 24/7...
Microsoft "It just works" support for VB6 is until 2023 when running a VB6 application on Windows 8.
I'm not aware of any comment from Microsoft regarding VB6 on Windows 9 (I have asked). Do you ? Yes, VB6 will probably run on Windows 9 too but as far as I know Microsoft just aren't saying. The position is similar to before Vista, Windows 7 and Windows 8 were launched - either no comment or a statement "There are no plans for VB6 on Windows x...". Hence my phrase "spread FUD by 'suggesting' VB6 may not run".
Users, IT departments and even Microsoft employees simply don't know if VB6 will run or has any support. Most think, like a Microsoft employee I spoke to on Friday, that VB6 support ended in 2008.
Yes we know that VB6 will probably keep on running as long as Windows continues to use the Windows API. But that isn't widely known.
Yes most VB6 applications will work on Windows 7 and 8, or can easily be made to (assuming the source code, OCXs or whatever haven't been lost) yet the default position of many IT departments is 'it won't work after Windows XP'.
A peculiarity of VB6 applications is that there are huge numbers of applications with (typically) a small number of users each - which often makes re-writing uneconomic. (Gartner Inc. suggested there were 14 billion lines of VB6 code out there, with a re-writing cost of $11billion).
Since the withdrawal of support for XP many organisations are having to consider upgrading. I'm certainly finding businesses who have just upgraded to Windows 7 but still have clusters of XP machines running legacy applications because they haven't yet found a way of running them on Windows 7.
Today I've being helping an organisation who's VB6 application wouldn't run on Windows 7 (and therefore they were still using their old XP PCs, contrary to company policy). I did a quick fix by just switching off UAC. The only other issue is that they had a 32 bit driver which needs to be replaced by a 64 bit driver. Now I'm trying a new driver and then will modify the VB6 app so that UAC can be switched back on. Easy really, but IT had told them they would have to get the software migrated (my estimate of this was 9-12 man months).
@Sten2005: it's BS, Microsoft is still saying that VB6 runtimes will run on the current platform and propably on the next too (it's support is up till 2026 if I'm remembering correctly)..
And it's BS that people aren't upgrading to 7 or 8 because they don't think the application they bought might not run on it, it's because they don't see any real advantages for running the newer OSses.. And in a big coorporation you really don't just switch over to another system until you're pretty sure all you applications will run..
But let's face it, there are some problems with VB6 runtimes and the latest Terminal server, a lot will work, but some of the OCXes like the Inet control have some serious problems (unless you add a VB6 application to the DEP exceptions), but those problems can be fixed by using other components..
Miquel Matas commented
@Shritam Bhowmick Clever move, people are moving away from Microsoft. We feel betrayed by MS technologies obsoletes.
YES! bring back VB6 with today's OS functionality! PLEASE!
Shritam Bhowmick commented
This is ridiculous since the article must had been purged in an agony because the COM elements won't be reverted to the manly syyle of preference, most of the coding practices still adapt the VB6 practices, even tho the runtime element had been changed from MFC to .NET runtimes. Since, .NET just sucks up more memory space with more code to be written with too much precise keeping the resource allocated in a wise way, Microsoft just ships .NET away in default with Windows 8. I see why, there has been no development made to the VB6 project on MFC runtimes earlier.
Clever move, but people are moving from VB.Net to C# now, the market has changed, no matter how many framework you provide them. They stick and adhere to the open community. Most coders do this.
David Platt, who wrote the article "The Silent Majority: Why Visual Basic 6 Still Thrives" which started this thread has written a follow-up in the June 2014 issue of MSDN magazine -
"VB6 and the Art of the Knuckleball".
Microsoft we helped build your company to world wide proportions. We had choices. We chose to invest in the then new and amazingly innovative OS called Windows. We helped that initiative become THE dominant OS on the planet. We did this assuming our investment in you would not be in vein. Not be insulted with having to rewrite millions of lines of codes in countess thousands of mission critical business apps.
All debates on .Net, old programmers, new programmers, OOP and the like aside.
Now we need something from you. We need you to honor our investment in you with a 64-bit VB6 IDE\compiler. Thank you.
In May 2014 25% of users worldwide are still using Windows XP. One of the reasons for this, particularly in business and government, is the fear that their VB6 applications won't run on Windows 7. Microsoft have, for years, spread FUD by 'suggesting' VB6 may not run on the next release of Windows. Now Microsoft have got their just deserts, users aren't upgrading because Microsoft have convinced them their VB6 software may not run.
One thing an updated VB6 would do is reassure users that their software will run (or at least be able to be made to run) on Windows 7 and later.
«the clients are not interested in MS not supporting VB6 on W8, they simply want what they paid for.»
Perhaps, noy paying for Win8 would be a wise decision from their part.
My VB6 apps run on Win8 without problems. But if MS ever brings up an OS that breaks support for VB6, none of my customers will ever upgrade.
@Anonymous: vb6 applications just run on windows 8.. MS is supporting VB6 applications on windows 8, what MS isn't supporting is running the vb6 IDE on windows 8 (but there are simple ways to get the IDE running on windows 8)..
@Watsons: huh? I've got VB6 IDE running on Windows 8 without any problems, everything works..
Yes, I agree after 12 years of VB6 dev and many apps out there, I now find myself with a huge liability. I have to get my VB6 apps to run on W8, the clients are not interested in MS not supporting VB6 on W8, they simply want what they paid for. WHAT DO I DO NOW MS!!!!!
The IDE cannot run correctly in 64 bits Windows 8. As an example a lot of functions fail and also the drag and drop you cannot use until you compiled it. Fix it please!
Yes, none of the versions of visual studio express I will be interested in. Bring visual basic 6 back please!
.NET was too slow
.NET several times and was translated
.NET NOT NATIVE CODE
VB6 = EXE NATIVE CODE