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
[Deleted User] commented
Just to add, I doubt Microsoft is able to bring back classic VB even if they wanted to - wouldn't the companies who were forced to re-write their software think WTF and get upset as we seamlessly upgraded to the new environment?
Just how are those re-written .Net applications doing on the new Windows 8 Metro interface anyway?
Write Twice, Run Nowhere
yes, please bring back the VB6 , im productive with this language than .NET
Please bring back VB6 (and VB5-VB1). I'm doing my best to write **** code in C#, but it's so much easier with VB!
Here is another idea, if the software elite think that vb6 is so bad and it's not a threat to .net, why not just open source it.
I think that Microsoft has committed serious errors of judgment:
1) Microsoft has betrayed its customers:
it is absurd to abandon support and will declare a language as 'dead'.
This is demonstrated by the fact that VB6 is still alive and used in a diffuse way, though .NET has been around for over 10 years.
If anything have to declare the end of a language, those are the developers itself. Microsoft is stupid if you want to do.
In addition, Microsoft has abandoned all VB6 developers, and this was a bud thing, because many have turned to other languages, because it has never happened that a company abandons its customers!
If it does, it loses customers, it is the law of the market!
2) Microsoft imposes a choice:
Another fact is to force to done a choice: the problem is not "IF use VB6" or "IF use VB.NET" but "WHEN use VB6" and "WHEN use VB.NET".
Only the developer has to decide which language to use, if it wants to use a lingaggio Microsoft, of course.
3) Microsoft has lied
Microsoft has tried, and failed, to force developers to migrate applications from VB6 to VB.NET, proving to have a limited view of the market.
To do this, he told us, or did tell his supporters including many hired MVP, a lot of lies: that is identical to VB.NET VB6,
We filled his head with a lot of lies that OOP, inheritance, polymorphism, etc.. were only and/or best in .NET.
Has deliberately forgotten 'confess' that this was possible in VB6.0.
RealSoftware proves that with the RealBasic (VB6 like) language has not only implemented all these features, but also allows you to create programs for different platforms (Linux, Macintosh and Windows), and has recently added the development for the Web in which web applications are compiled, so much safer, and can run on Linux or Windows server.
So I can compile on Windows a WEB application for Linux.
I omit other junk made by Microsoft from Vista, 7, 8, Windows Phone, ...) justified only by pure commercial purposes.
Maybe Microsoft should explain to me why on my notebook HP, 17'' dispaly, Windows 7 64bit, 8GB of RAM and i5 processor when I open a folder like System32 or SysWOW64 in 'Windows Explorer' takes longer than 1 minute to read all the files, while Windows XP reading was instant?
Why when I open the same folder using FreeCommander (free!!!) it takes 1 second?
Microsoft, good things should not be thrown away!
Agreed, bring it back please.
Very Well Said Dean. I may be wrong but I think the worst thing from all of this is, how are we supposed to spend all this time re-writing our products and come to the same, if not slower functionallity. Anyway... Everyone let your co-workers.. etc know to come here and vote. We need to get to 12,000 votes, I think we can if the right people find out about this. Please spread the word!
[Deleted User] commented
I've been a VB6 specialist since 2002, when I decided not to learn .Net. Information overloaded at the time and like others, I'm not interested in spending hours of my free time reading MSDN articles. I haven't learned anything new technologically speaking in the last 10 years... oh the fast paced world of IT! It's a job, not a passion. In my free time I prefer to do things like kicking *** playing *************, version 1.6 incidentally, also now know as "classic", and likewise, has a die hard following.
Why? Because it's good. Micosoft released a fabulous set of tools - VB6, Windows XP, Windows 2000 Server, SQL Server 2000, ASP3 and there you are - provided with the capability to build a fully robust industrial strength systems... if you knew what you were doing... and I did. A mathematical background, combined with a post graduate software design qualification and working with one of Europe's biggest IT companys meant I acquired the skills to build award winning systems.
It did the job, and still does. Businesses were happy. There is SHEDLOADS of code out there, and it's still being added to, still being depended on for BAU. That is correct - to all the .Net snobs I can tell you that it's perfectly feasible to construct a robust and intelligently designed VB6 based system which businesses can use for YEARS. Keep the 6 month learning curve for computer scientists who actually give a **** because I don't.
Why did Microsoft scrap a LANGUAGE? A tool... OK, fine. But a language? Who will scrap the C language? Will the ** president suddenly announce English is being replaced by *******? Is there any incentive to learn any propreitary language from Microsoft anymore? Maybe there was when they had a monopoly, but now people with an urge to code have many ****** platforms to chose from, including Ubuntu, Google and Apple.
There are probably 1000s upon 1000s upon 1000s of applications currently in use that cannot ever be re-written in .Net because they are too big. Why? Think about how many programmers, testers, analysts, architects and project managers that would need for a full re-write. An "upgrade" is likely impossible because of the enmeshed activex controls and spaghetti code.
Most companies just want to continue on with business as usual and these system could last 50 years. If Microsoft are expecting a scrap and replace 20 year cycle then maybe they are in the wrong business.
The ironic thing is, as others have said, if Microsoft were to create a VB7 they would have an instantly successful product. Non-microsoft vendors will never be able to significantly encroach into that space because the whole point of VB6 was it was an IDE from the manufacturer of Windows, therefore a safe bet. Supposedly.
I have learn vb6,vf, vc6, c#, silverlight, wpf and many many microsoft's stuffs. Microsoft guys discard one and one, discard again and agan.
Microsoft's technique is closed and discontinuous, when Microsoft discard one technique, we developers have no any method to continued it because microsoft don't open it，So microsoft are wasting all developers's time who use their technique.
When we use java or php or google's or any other language, they all open, so when the sponsor give up, we developers can continued it, we won't waste our previous work.
I don't think Microsoft can live more than ten years from now,because many and many developer have leave Microsoft's technique.
If I learn their new technique again, microsoft will give up it in 3~5 years again, just like com, asp, silverlight, vb6, vc6,vf , vj and so on....,We developers have how many 3~5 years? I will not waste time on microsoft's new technology now.
I Bet WinRT will die if there are not good native language suppor it. c# and .net all are jokes for cs, they are too bad performance, these languages are good for web, but not fit for cs. why? because sun's java language has prove it, java is only good for web, not for cs. today, visual studio, SqlMS, Dynamic CRM all eat huge memory and slow.But microsoft still has't recognize it, so microsoft will fail.
Peter Seidel commented
We want VBC reloaded!!!
Gonzalo Santiago commented
Bring back Classic Visual Basic 6
Leonardo Azpurua commented
In fact, inheritance may be confusing, and it certainly is not just for "code reuse".
An ancestor class defines an Interface for its descendants. As such, a simple Interface would suffice. But if the descendant classes share common functionality, then Inheritance can save you a lot of coding. So, the biggest difference between a Base Class and an Interface is just that a Base Class actually implements code and data, while an Interface only defines what code and data an implement class should contain.
VB6 is a "hibrid" language (which I like) lacking inheritance in the OO side (and it would be a handy addition).
look at this perspective on inheritance:
@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.