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
@Winston potgieter: real Inheritance is just one of the features that I personally miss, it would mean that I wouldn't have to reimplement a lot of code every time.
One of the things I also missed about VB6 (and previous versions) was unsigned integers. And I do hope if they ever release another one, that they would fix the problem with names having to be exactly the same even if they aren't in the same class (like for instance is you for some reason call a property x in one place and someone-else names it X, you keep getting the problem of VB changing one to the other depending on which class you have checked out. Also the limitation of the ammount of variable names is a problem (at least for us) with current VB6 (you'll get an 'out of memory' if you exceed an x ammount of (different?) names.
I really just whished MS would admit and even show the features of the real VB7 which they had internally before they dumped it to promote that vb.net ****.. or even opensource it, as to me, the current vb6 IDE is still (especially enhanced with MZTools) one of the best around, but it has some flaws which makes it a little ****** to use on windows 7 (but it does work)..
Leonardo Azpurua I totally agree with you, I do use classes in VB6 and OOP, I limit Globals, and use proper naming conventions. Over the last few years I have done alot of research on inheritance and there are plenty of very intelligent people that state that it actually complicates code and argue that object compsition is a better solution. So maybe in foresight on MS part, that is why 'true inheritance' was left out of vb6.
Can you imagine the monster of apps and developers MS will wake if they do this. I second Ron, I would pay thousands because it would save my applications and keep my apps working and generating income without years of wasteful work just to get to the same end result.
Everyone that supports this please let your friends and co- workers know to sign this, we will not accomplish anything unless we come together and let MS know what we think. That is what happened the first time!
Dieter Strassner commented
Bring back VB6!
...Thx on MS!
Leonardo Azpurua commented
Except for inheritance, which may be laboriously implemented by using interfaces, containment and delegation (I don't see the point to this) VB5/6 allows for the translation of OO designs into working and reusable code. It may have some limitations, but none important enough to prevent a full usage of OO principles in building applications.
If people at M$ had wanted to add full inheritance to VB, they might, with minimum work, have implemented a containment/delegation mechanism, which would have been enough to solve the problem and provide full inheritance at the source level. Anyway, if we were striving for top speed we wouldn't be using VB. Right?
Why MS decided to get rid of Classic VB, which seems to be part of a move to ged rid of COM altogether, just defeats my understanding, since getting rid of COM meant removing runtime support for thousands of applications by both users and independent vendors.
And replacing Classic VB with an incompatible language without providing a working migration tool was beyond stupid!
I for 1 would be willing to pay thousands for a 64 bit VB7 classic.
Bringing back an updated version of VB6 is just what MS needs to get their mojo back. Imagine how many apps could be created for Win 8 if there was a true VB7 classic? VB6 and the vast amount of developers it enabled is what made Windows great, without it MS will keep going downhill.
Great points Leonardo Azpurua. Rob Rowe I am going to assume you don't have a 1 million line vb6 app that is making a living for you. If you did and you re-wrote It, I am Very impressed. Maybe you can give us some pointers on re writing vb6 apps and justifying the labor cost. Most of the reason we want it supported is not the fact that we think it is better but that it does what we need it to do with little overhead and we have a huge code base that took years to refine. Keep in mind vb6 in native mode produces code using a c2.exe compiler. I understand the trend in programming ideas is heavily based on OOP, but many cases there is no proof this cult like thought pattern improves productivy or software stability. My thought is just this. MS is doing work in VBA, that work can be transfered to vb6, and with a little refinement we can have a revived vb6.
I can't say much good about VB6 but I do miss a "VB.Net" version of VBA for Office
I agree. vb6 coding is much better than new vb. when coding, we make it simple and straight but why the new vb has lots of complexities? is it just to bring new change to boost sales on this product? wow
Bring back VB6!
Reinhold Beck commented
I do not want to learn new programming languages each two or three years and to master their learning curves. I do want to learn my clients' problems and to solve them with a fantastic flexible language which could easily hold good enough to trash the huge majority of other languages.
Leonardo Azpurua commented
I don't believe that VB6 is essentially better than any other language. My only point is that it is "good enough" for the work that I do, and that by the time of its dismissal I had a half million lines of working code (including one commercial business application, several libraries and user controls and a set of home brewed tools that allowed me to do my job in a most efficient manner). I still make my living from that code, that has improved and expanded along the last years.
Analogies are always deceiving. Leaded paint is toxic: if I use it, it is not just my trouble: I might be poisoning anyone else who entered my room. VB6 may be "old", but it does no harm. And a properly written VB6 program is as safe and efficient as any other program, regardless of the language and tools used to write it.
I don't mind other people using any other language. When VB6 became "legacy", I tried to move to VB.Net, but it had so many frustrating limitations (mine was the inability to create a user control based on one combo box and one specialized text box to represent a "quantity", i.e. a number plus a unit qualifier). I did create the control, and it worked when it was directly inserted on a form, but there was no way to use it as, say, the editor for a Grid column. Not with 2003, nor 2005, nor 2008. I tried other control suites (DevExpress, FarPoint, Component One) to no avail. Simply put, encapsulation failed miserably for user controls. That frustration, together with the feeling that I had been abandoned by my language provider, drove me away from Microsoft. Currently, I am writing Web extensions for my system using HTML+CSS+JS on the client side, and PHP on the server side. The whole thing feels as limited as eVB3, but at least I can be sure that my work won't be thrown into obsolescence by the decision of a handful of executives, since the governance of the standards for these languages is in the hand of people who actually use them.
I don't have any serious hope that MS will resurrect Classic VB (yet they could: they have been working in VBA, which shares lots of code with "standalone" VB), but if they did, they would certainly regain much of the respect and trust that they have lost for me.
Perhaps with the money they would make by the sales increase comig from the restored trust and the revival of the best selling language known so far, they might speed up the development of F# and other functional languages that Mr. Rowe suggests.
Rob Rowe commented
what? Really?!? Wow...There's enough 'stuff' in visual studio. How about promoting F# and other functional languages instead?
Mike O'Brien commented
While you're at it please bring back leaded paint and radium coated clock dials...
Yes please update our workhorse and keep it supported!!! I will forever defend and promote ms if you give us this gift!!!
Please! VB6 back.
I love vb6,very much
But it seemed that Microsoft was lost there power to take VB6 back.
They have not any good engineers who like the VB6 developers now,
They are quit when Microsoft choose the .Net as their new plan,
Just like they give up Windows XP to choose WIN8.
Microsoft was down,just like Motolola, Nokia & etc.
Yes! Just VB6!
We Need The VB6.1,VB6.2,VB6.n...
We Don't Need .Net1,.Net2,...,.Netn...
It's Not VB!