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
I am for the Internet to rebuild so that no one can blow anonymous any paid lobbying spells.
Recently we have the fake account Joe Bolton.
In a real democracy, someone who does not care about one topic would just keep going and let others do their thing.
Instead, he tries to spread fear and acts as the savior of humanity.
Why is someone doing this?
Except one gets paid for it
In the near future a meaningless posting will come from him or a new FaktAccount only so that his text is in the forum above.
Can not you find these people and publish the identity?
@VB6 programming just got a big boost from Microsoft
Between 1997 and 2001 Java gained enormous ground as an enterprise language. Microsoft was afraid of losing enterprise developers to Java, not just C++ ones. And what was Microsoft’s #1 enterprise language? Visual Basic. You can see that in the language usage surveys at the time. But I was there and saw it with my own eyes.
At the company I worked for then it was decided that all future development was going to done in Java. That meant that I had to tell my team “Guess what, we’re all learning Java!” My team, like all of them, was a mix of “fighter pilots” and “bus drivers” as David Platt puts it. We all used VB because it was faster and cheaper than C++ which was only used when we had to. The pilots had no problem with learning it but the bus drivers revolted. They only knew VB and didn’t want to learn anything else. Heck, most of them weren’t that knowledgeable about it. Try to discuss using polymorphism with them and they had no idea what it was even though it had been in the language since version 4. Most of them had been hired when anybody who could spell “Visual Basic” could get a coding job. They soon found out that standards were changing as they were let go for no longer meeting the company’s requirements.
Some found jobs as VB developers before their last day but plenty were still looking and saying how hard it was to find a new position. The VB job market was starting its decline even then as companies became reluctant to hire people who only had VB on their resume. These are the developers that Microsoft “lost”. Not because they moved to Delphi or some other language but because the job market changed under them and they couldn’t or wouldn’t keep up. You don’t get to choose your language when you work for a company. You use what they’ve standardized on or you don’t work there. If you can’t or won’t learn new skills you get replaced.
Visual Studio .Net came out in early 2002, not 2003, and it was quite usable. I used it and so did many others. One of them was Dan Appleman, author of many superb books on programming. He liked it so much he used VB.Net to write one of his company’s products and described how hard it was to go back to VB6. The only “improvements” added to the VB2005 language was the silly My namespace (My.Computer, My.Registry, My.Little.Pony) and bringing back default instances of forms.
Yes, VB.Net did have some popularity which could be seen in the surveys back then. Some of them had VB as high as 50%. These were by industry publications, not Microsoft so they reflect the reality of the times and not Microsoft marketing. You may not want to believe it but, as I said, I was there.
A company that does not permanently listen to the wishes of its customers will perish. I'm sure. Are there enough examples in the world?
Despite a succession of post-VB6 products (VB.NET, C#, LightSwitch, etc), the ease and simplicity of VB6 programming has fostered a large installed base of applications.
The continuing popularity of VB6 presents Microsoft with a conundrum. On the one hand it represents a platform that it considers superseded by newer Microsoft products. On the other its continued usage, 20 years after the last version, indicates a successful product well-received by the marketplace. Microsoft is missing an opportunity by not resuming full support and updating VB6.
Show some evidence there was a 'stampede' from VB5/6 to Java in your timescale. Certainly it is true that Microsoft became scared they would lose developers to Java. But that is later than you are talking about. In your timescale, Microsoft were offering their licensed Java language J++.
If anything Microsoft were more concerned they would lose C++ customers to Java, that's why they licensed Java.
VB6 didn't start to lose users in any volume until it became clear that there wasn't an upgrade (say 2001-2003). At that point VB6 users had to decide where to go. The big (early) movement was more to Delphi than Java (Delphi being closer in concept to VB6). It was Microsoft's failure to provide a backwards compatible VB7 that forced users to move away from VB6. Yes some Microsoft fanbois moved to VB.Net but it was never really popular.
As many of us said at the time (and has become clear with hindsight) Microsoft's best approach would have been to offer J++ and an updated VB6.
When they legally/morally messed up with J++ their second best option would have been C# and an updated VB6.
Instead they chose the worst option C# and VB.Net.
So Microsoft were offering a Java clone (C#) without (for the first few years) Java's reliability, productivity or security.
And a VB6 replacement that was incompatible with VB6, as well as lacking Java's reliability, productivity or security.
And there was a gap between Microsoft losing the J++ court case in 2001 and .Net becoming available(and usable) in 2003-2005.
No wonder Microsoft lost a huge number of developers.
I take issue with your claim that VB.Net "did have reasonable popularity until 2008". The initial releases of VB.Net (VB2002, VB2003) were virtually unusable. It wasn't until VB2005 that there was a workable product. Microsoft claimed at the time that VB.Net was as popular as C# but it was never true.
OK, in 1997 companies were moving from VB5 to Java. But VB6 did nothing to slow down the stampede. In fact, over the next few years it accelerated. Why did this happen? Why did Microsoft feel compelled to first license Java and then clone it? If VB was "everybody's favorite" language why was there a stampede at all?
Before Java your choices were VB or C++. VB provided faster development with fewer bugs (lower costs) whereas using C++ could be like wrestling grizzly bears on a daily basis and I should know since I did it for years. But VB has some serious limitations so when Java came along and promised the power of C++ minus the bears is it any wonder there was a stampede? Simply put, Java was seen as the future of development and Microsoft's tools as the past. Microsoft was between a rock and a hard place. They didn't have many choices and a VB7 wasn't one of them.
Before you declare C++ as more popular than C# I suggest you count the number of jobs for each language.
I'm no fan of VB.Net but it did have reasonable popularity until 2008. After that it took a nose dive.
VB6 wasn't launched until 1998, so obviously companies weren't moving from VB6 to Java in 1997.
And Microsoft had their own version of Java (J++) at the time, so you can't really claim that Java was better than anything Microsoft had. If anything, J++ was better (on Windows) than Java.
But because Microsoft didn't comply with the Java licensing requirements, Microsoft had to abandon J++ in 2001 (and pay Java's owner $20million).
Some of J++ continued for a while as J#
C# was then developed as Microsoft's answer to Java (famously C# is the only programming language designed by lawyers, as the nearest clone of Java legally possible).
C# was intended to be Microsoft's Java killer, but never came close to the popularity of Java - or of VB6.
And don't forget that what you describe as 'painful C++' is still very popular today. Microsoft say that Microsoft C++ is their second most popular language by far. And all versions of C++ together are more popular than C#.
So C# didn't replace either Java or C++.
You can certainly argue that C# slowed the stampede to Java. But the abandonment of VB6 caused many VB6 users to move to Java.
Microsoft say that around 1 in 3 VB6 (of a claimed 6million +) users moved to non-Microsoft languages.
VB.Net was made available at around the same time as C# (though it was 2005 before it was really usable) but this was incompatible with VB6 and therefore missed its target of being a VB6 replacement. VB.Net has always had a much smaller number of users than C# (or than VB6 had in its prime, and possible still today).
The reality is Microsoft messed up. They got J++ wrong, C# was a reasonable attempt, VB.Net was misguided.
How backwards compatible is Java with VB6? It's not compatible in the slightest but that didn't stop companies from switching to it in huge numbers. Backwards compatibility isn't as important as you think.
Business software these days is written in Java or C#. Those are the skills in demand by employers. You certainly don't see them looking for VB6 developers. The only VB6 development going on is maintenance work on old programs that will never be updated with new features.
Microsoft only supports the VB6 runtime on Windows 10. The IDE is not and will not be supported. You wouldn't have requests here on User Voice asking for it if they did.
Face it, Basic is dead. VB6 isn't coming back and VB.Net is only being maintained until Microsoft can figure out how to drop it.
VB6 Programming commented
There is still a huge amount of VB6 programming in use. And that will continue until and unless a successor to VB6 is developed.
VB.Net was never that successor, simply because it was not backwards compatible with VB6.
That's why Microsoft still support VB6 on Windows 10 and Windows Server 2016.
BTW, all the developers who decided to "remain with VB6" lost their jobs. I had to fire several myself. There's no place in the industry for "bus drivers" with limited skills these days.
It's obvious you weren't around back then. The big uptake in Java happened between 1997 and 2000, before Microsoft released .Net, not after. Companies were moving to Java to get away from the limited VB6 and painful C++. Java was better than anything Microsoft had and only introducing .Net stopped the stampede.
This is why Microsoft won't bring it back. Nobody wants it.
>>".NET could have been a step into the 21st century. It could have been, but it wasn't.
The library is extremely bad. It is simplistic and inflexible and in many ways quite limited."
Yes, VB.Net was a disappointment. Very limited (causing some to move to Java) and not backwards compatible (causing many more to remain with VB6).
VB6 got an important boost from Microsoft blogger Scott Hanselman. In his post, Hanselman shows how to configure a VB6 app to be hosted in the Windows 10 Store.
David Platt says...
"With these latest improvements to compatibility, I foresee at least another ten years of life for VB6. And I’ll bet you anything that this support gets renewed in Windows 11 and 12, or whatever they’re called by then. Another decade of driving the puritans crazy."
@VB6 Programming @Jean
>> "The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed.
There’s nothing wrong with it. It doesn’t acquire bugs just by sitting
around on your hard drive"
You are so right. Who would choose to replace software that works, that has been working for years, with costly new software likely to have bugs and possibly be slower than the software it replaces?
Help files and documentation for VB6 programming...
"The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed.
There’s nothing wrong with it. It doesn’t acquire bugs just by sitting
around on your hard drive"
Very true, There is no reason to rewrite working code.
'Introduction: Visual Basic 6.0'
An introduction to VB6 programming, a book in pdf format for VB6 beginners.
Why VB.Net never replaced VB6 programming.
Language design always involves tradeoffs, and VB.Net trades off its essential advantage in order to play with the big boys. You might think that Microsoft would push its big lead over the competition and grind its hapless competitors even further into the dust. You'd be wrong. Instead they have copied the copiers. Visual Basic.NET looks and works a lot more like Delphi or Java than like the real VB.
Why Microsoft lost millions of users of the VB6 programming environment.
Microsoft abandoned VB developers with no practical upgrade route or new project language. None. Microsoft practically invented/discovered that it is not about what is best but rather what is practical.
And then Microsoft threw it all away.