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
@Microsoft, update VB6 programming & VBA programming
"Good times for VB6 programming..."
There are some intriguing points in your post.
You are correct in stating that VB6 apps can be converted to UWP apps. I don't, however, see the Windows Store as becoming popular. But who knows, Windows 10S (Microsoft's Chromebook competitor) may be more successful than seems likely.
Much more likely to succeed is your point that "VB6 apps will run on ARM unchanged, and the VB6 programming IDE will run too when Windows 10 for ARM is launched later this year. http://www.pcmag.com/news/353637/windows-10-on-arm-runs-all-win32-apps-unmodified ".
This, to me, looks potentially very important. VB6 running on low-cost, long battery-life tablets could open up whole new markets with what would be a better product than iPads and Android devices.
And yes, it is good to have alternatives like B4X for mobiles and NS Basic for web and hybrid.
You ask "why is there so much antipathy when it comes to people who clearly love VB6 actually backing a replacement?"
I think there are two main reasons for this apparent antipathy.
1) Many of the replacements offered, whether proposals or commercial products, have been what those putting them forward regarded as 'better' products than VB6. But in making them 'better' they lost a large degree of backwards compatibility. VB.Net was the obvious failure here, you couldn't take your source code forward (let alone your knowledge and skills) so it didn't offer VB6 developers much. Many of those who left VB6 moved to non-Microsoft languages as it was just as easy (or difficult) to do this as to move to VB.Net.
Xojo, PowerBasic and others had just the same issue, they just weren't compatible. Any replacement needs to offer backwards compatibility as well as new features.
2) Microsoft support VB6 until at least 2025 on Windows 10 and until at least 2027 on Windows Server 2016. This is both good and bad for VB6 developers. Good that VB6 programming continues for what looks like as long as Windows continues, but bad because it stifles development of any VB6 replacement.
Why would a VB6 developer move from VB6 (the very definition of a stable development environment) to a replacement, unless that replacement offered everything that VB6 does, and more besides?
I genuinely wish you luck with your project, and I look forward to trying it.
You pose the question....
But one thing you may wish to comment on .. why is there so much antipathy when it comes to people who clearly love VB6 actually backing a replacement? A friend started http://www.vbforums.com/showthread.php?842261-vb6-trans-compiling for my "dream" as you call it :) and as you can see the idea was torn apart by people who seemed pro-vb6 but ... Well, I have no idea why. Antipathy.
I'd like to give you my thoughts. I'd like to, in fact I already have, but this infuriating forum/thread 'lost' my post. I'll try again shortly.
Good times for VB6 programming...
Microsoft have extended support for VB6 until at least 2027. https://docs.microsoft.com/en-us/dotnet/articles/visual-basic/reference/vb6-support
VB6 apps will run on ARM unchanged, and the VB6 programming IDE will run too when Windows 10 for ARM is launched later this year. http://www.pcmag.com/news/353637/windows-10-on-arm-runs-all-win32-apps-unmodified
VB6 apps can be added to the Windows Store as UWP (Universal Windows Platform) apps.
"Putting (my VB6) Windows Apps in the Windows 10 Store - Project Centennial" - Scott Hanselman of Microsoft.
These will be suitable for the new Windows 10S operating system.
The B4J programming language offers a VB6 like language compiling to JVM (Java Virtual Machine) allowing apps to be developed for cross-platform desktop and server solutions (for Windows, Mac, and Linux). Also for ARM boards such as Raspberry Pi.
The B4A programming language is a VB6 like language for Android.
The B4i programming language is a VB6 like language for native iOS development.
There is even a B4R programming language for Arduino and ESP8266 development.
The NS Basic programming language is a VB6 like language and IDE for web development and for hybrid mobile development (for Android and iPad/iPhone). You can copy and paste VB6 code into the NSBasic programming IDE.
The things that Visual Basic 6 did still need doing. One of the big advantages of VB6 programming was that you could do things quicker, easier and cleaner using VB6 programming than you could in C++. And VB6 used the Microsoft C/C++ compiler to make your app, giving similar performance to what could be achieved in C++.
When Microsoft's Java clone .Net was launched is was a big disappointment for VB6 developers. It probably seemed a step forward for C++ coders but to VB6 developers it was a backwards step. Slow, complex and convoluted rather than quick, easy and clean.
Even all the "improvements" done to dotNet over the years have never addressed this. Many of the dotNet improvements abandoned what went before. Winforms was dotNets way of designing forms. But this was abandoned in favor of WPF. Yet Winforms still needs to be supported because of legacy dotNet applications.
Now dotNet is losing popularity, with both C# and VB.Net falling, and VB.Net no longer keeping pace with C#.
The fury in the VB community caught Microsoft by surprise. They expected everyone to greet the new release with enthusiasm, throw away their copies of VB6 and switch to .NET without delay. They forgot to account for the real world where developers have legacy systems to maintain and little time to learn a completely new development environment.
According to a Microsoft spokesman, the uptake of .NET was "dismal" for quite a long time. The VB6 programming community split between those who embraced the new technology wholeheartedly, those who stuck stubbornly to VB6, and those who jumped ship and switched to other environments such as Delphi.
The only good thing about VB.Net is that it is totally different to VB6. So if you ever decide to move on it is just as easy to move to a non-Microsoft language as to a Microsoft language.
Now Microsoft are slowly abandoning VB.Net.
But as Microsoft will keep supporting VB6 as long as they support Windows there is no reason to move at all.
VB6 programming is supported on Windows 10, Windows Server 2016 and earlier versions of Windows.
VBA programming is supported on Office 2016 and earlier versions of Office.
VBScript programming is still part of Windows.
I think I'll be blocking this thread soon. VB6 is a paradigm, a way of thinking. It is a RAD tool that allowed people who are brilliant (but not career coders) to achieve, often indeed a tool to manage other career coders, who didn't like that - and hence the agro.
It's not a f*king competition to see who can outsult each other. These things are not up for debate, they are raised to get something done about it's obsolescence.
Zagor, thanks for the earlier reply. A lot of truth in that.
VB6 BEST !
VB6 is most powerful language !
People forced VB6 limitations and created bunch of hack API stuff, subclassing etc: a comment by Anonymous
People forced VB6 limitations and created bunch of hack API stuff, subclassing etc. There were many 3rd party vendors, who tried to do a buck. It soon became an uncontrollable monster and needed to be put down for many other reasons, mostly it could not really allowed to be expanded and was lacking many important features like multithreading etc. VB6 couldn't be changed easily and to change it you needed to do it from the bottom up. So Microsoft did chose the bottom-up approach and created .NET. This new platform had all the goodies that VB6 didn't have and never could have (because of it's inefficient general design philosophy). That's the reason why pro-coders are now quite happy with .NET today.
However there is still good news for hobbyist coders, who used VB6 (and still continuing to do so). There is VBA and VB script. VB6 coders can switch to those as they are familiar with the syntax. Besides, there are other languages around like python, which is easy to pick up for non-pro coders.
Microsoft did the very right think to put VB6 asleep as it was really hopeless, however provided all the help to interop from VB6 to .NET. That's the best that they could honestly do and I don't blame them.
I suggest that you try .NET, which is getting better each year. (check out NET 2015). However as you are saying that you are a non pro-coder, I would suggest that you use VB6 as it is, because MS support OS support will be there until 2024. But if you need to develop yourself then you should learn .NET, because it is one of the most comprehensive frameworks around for real programmers. Thank you.
Zagor Tenay commented
@Richard Collier (Alan Hughes)
Don’t be so obsessed by me, let it go son. This is a VB6 forum, thus we should be discussing VB6 not personal stuff. Let me ask you the questions, the ones that you never answered and always avoided. Once again.
Question: Why do you insist so much on Microsoft to bring back VB6, while we know it is the most hated language (ref: Stackoverflow 2017 survey results)?
Question: What do you think VB6 being chosen the most hated language?
p.s: Please do not post C# bashing as response again. It is really weak.
Zagor Tenay is exhibiting strange behavior for someone who claims to "be a professional engineer graduated from a reputable university with an MBA degree on top of that."
Who also claims to "have worked in aerospace industries in all continents for many years and involved on high end, mission critical software certification of avionics systems with FAA, JAA and civil aviation authorities."
Who claims to "have worked with major aerospace industries, Boeing and Lockheed as a contract engineer."
Who claims to "have founded my own company."
Why would a "high-flying" engineer, an MBA, who claims to have worked for the FAA and Boeing and Lockheed and to have been responsible for complex system design/certification and complex software driven modern airspace systems and to have recently started his own company waste his time with multiple repetitive posts (often using multiple usernames) on this thread?
In the first 3 days of June he posted 39 posts on this thread. At a time his company has spent over a year developing an alleged software product that still isn't finished. Strange priorities.
This presents a problem for us here on this forum.
Is Zagor Tenay just a fantasist ?
Or is there some truth in what he says ?
Has he actually been responsible for "complex system design/certification and complex software driven modern airspace systems" ?
If so do we have a duty to report his obsessive compulsive behavior to the FAA (and to Boeing and Lockheed)?
Zagor Tenay commented
For the record. I use only one name and I don't see any problem posting an article a few times. (On contrary, you are posting here under different names. I can see Richard Collier turned into Alan Hughes now-I remember another Alan Hughes:) ).
We (as a software/hardware technologies company) produce many line of products. Some are consumer oriented and some are enterprise apps. Our product and service line is diverse. We use .NET and other web technologies and have also some software driven hardware products as well for specialized use.
I would like to post a writing of mine here again, as it seems to be immensely popular. Thanks.
<<<VB6 IS JUST OLD, OUTDATED TECHNOLOGY, OF NO RELEVANCE TODAY>>>
To be honest with you, I have used and actually learned programming using VB6 in the 90s. It was a great tool for a beginner in those days. It was a very good tool in it's days. I remember going through Planet Source Code in those days and finding useful hacks, whether it be subclassing or some weird multi threading hacks. I wasn't very familiar with modular concepts, factoring and OOP in those days and whatever I was writing was mostly patch code written by others. My programs were somewhat functioning but it was just a mess, a spaghetti code. The next time I was looking at my code to add up some functionality, I could not understand it and it would take me hours on end to figure what the heck I did before. Those are typical symptoms for spaghetti code. I am quite sure many others did write code similarly in VB6. I wasn't the only one for sure. You know VB1-6 was not created by considering modern modular design concepts. So from the beginning it was doomed. That's why it was promoting bad coding practices. The industy realized that. They couldn't effort to rely on single shot coder API hacks in order to get their mission critical programs to work. They needed a serious framework. So .NET was born.
I am quite sure that you agree with me on this. This is NOT to undermine VB6. The fact is that VB6 can NOT be used in today's highly demanding programming environment. It will simply fall apart, unless huge renovations are made to it. Then one may raise the question. Why shall we update VB6 or more importantly how can we update it? It is almost certainly impossible to update VB6, as all the evidence shows that VB6 source code is not expandible and maintainable. VB6 was not designed to develop complex code. A new VB from scratch has to be designed. Well, then we are coming to the natural conclusion, There is a tool already been desined and it is called .NET, which is a complete re-design from scratch with managed code, garbage collection, OOP, multi threaded, with a huge native library etc. So, the request to bring back VB6 or to open source does not make sense, as there is already a well designed replacement for it.
The above is just a logical deduction. It proves that VB6 is really not required any longer.
Thanks and Regards
And Zagor Tenay posts his
"To tell you the truth, I have used and actually learned programming using VB6 in the 90s. It was a great tool for a beginner in those days. It was a very good tool in it's days...."
post again on June 2 2017.
And Zagor Tenay also posted his June 24 2016 post:-
"To be honest with you, I have used and actually learned programming using VB6 in the 90s. It was a great tool for a beginner in those days. It was a very good tool in it's days.... "
again using his 'Zagor Tenay' username in July 2016
and again using his 'Anonymous' username in August 2016
and again using his 'honestcoder16' username (three times) also in August 2016
Guess not so much of a 'honestcoder'
Not much seems to have changed in the last year.
You are still alternately criticizing and complementing MichaelE
And you are still developing your product. I guess that your team of developers don't consider over 1 year a long time to develop a C# application.
Interesting to see that the product you and your team are developing is no longer a 'consumer product' but is now 'a highly unique Enterprise Application'.
Or, of course, you could just be a lying fantasist.
It's déjà vu all over again....
Zagor Tenay June 24 2016
>> Dear MichealE
>> Good to hear that you are a .NET enthusiast too. This shows that you have a common sense. To be honest with you, I have used and actually learned programming using VB6 in the 90s. It was a great tool for a beginner in those days. It was a very good tool in it's days.
Zagor Tenay June 24 2016
>> Dear MichealE
>> I guess you don't know .NET that much. From the things you say, you seem to be stuck in the 90s. That's fine. You are quite a bit outdated, it seems, however if VB6 does your job, go ahead.
Zagor Tenay July 1 2016
>> Dear MichaelE
>>Thanks for asking. Our company designs consumer products.
Zagor Tenay July 2 2016
>> Dear MichaelE
>> Thanks for your questions. We are a small scale enterprise aimed in designing software for customers all around the globe. We intend to develop our products on all cross-platforms using Microsoft technologies as we believe they are the best tools for such an endeavour. Xamarin and Azure will be used as part of our distribution SaaS model. Unfortunately I can not disclose the name and the product at this very time being.
VISUAL BASIC 6.0 is KING !