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
Damien HOFFSCHIR commented
My mistake. I should have say "Obsolete things have to die." Don't misunderstand me. C/C++ is great for performances. That's all. with native C# coming, I'll probably say that C/C++ have to die too in 1 or 2 years.
MIlan Oparnica commented
That is correct, Eugenio, we have tested it and even put in few production scenarios. We even made Winetricks verb that installs all runtime libraries needed to run our software.
But there are issues. One of them is different file locking mechanisms in Wine/linux and Windows OS. Fortunately it is fairly simple to avoid it through adaptation in vb6 code. Great thing is that network and serial communication works flawlessly.
Another problem is that Wine gets most of it's funds from the gaming population so it can't focus towards business solutions. If there was something like Crossover or PlayOnLinux only business oriented we could see greater *********** of Wine in SME market. Specially now when XP follows the VB6 path.
Dennis Johnson commented
"Old things have to die"
So, you're saying that C/C++ has to die? Assembly has to die? They are definitely older than VB6.
I know what you're gonna say: "They are more flexilble and ACTIVELY developed"
Who says that VB6 isn't flexible? The only problem is that it is ABANDONED for no apparent reason.
- "Fake classes"? You may prefer mixing class code with plain code. That's just a preference...
- About multithreading and inheritance. I have read in an article (I have lost the link unfortunately) that, if VB6 had been delayed by 6 months, it would support natively multiple threads and class inheritance. Who says it isn't possible for Microsoft to add these features to an improved VB6?
- "... ActiveX stuff don't work". You dare to say that? Seriously? After seeing the horror the Net framework can cause? You should already know that you can avoid problems like multiple versioning and registration, by embedding the typelib info into the application manifest.
- For your information, ActiveX is built on COM. And the whole OS API is moving towards COM. ****, VB6 is based on ActiveX/COM! So, what is blocking VB6 from becoming an active development language for the new OS'es?
- And what's your problem with ADO? It works perfectly as it is. I have recently created a migration app that connected to an IBM AS/400 and transferred data to a SQL Server.
There are so many languages out there. Bring it back or at least sell it to some company that would do what it thinks better. Choosing a language to make an application is mostly a preference; it's whatever someone thinks he's most productive in.
Eugênio Pacelli Salgado Canaan commented
Milan Oparnica, my friend:
VB6 executa, nativamente, compilado, e com excelente desempenho em qualquer linux.
Obviamente que você usará Wine, mas Wine não é um emulador, é apenas um compatibilizador de dlls.
Instale seu VS6, no seu linux, compile to native code e execute. Com um clique do mouse, nada mais que um clique. Um shell melhor virá no seu tempo, preencher essa falha do linux, e então, adeus MS.
VB6 runs natively compiled, and with excellent performance on any linux.
Obviously you use Wine, but Wine is not a emulator, it's just a dll compatibilizer.
Install your VS6, on your linux, compile to native code and run. With a mouse click, nothing more than a click. A better shell will come in its time, fill this gap linux, and then goodbye MS.
MIlan Oparnica commented
@Eugenio, You might have rushed into the conclusion here. I don't think that David Rathbone meant to insult the VB6 community. I feel he was aiming more towards Windows and MS in total...
I dare say I do agree with him. Of course we're not sitting and waiting for MS to bring back VB6. In fact, it's quite opposite...as soon as we got persuaded they won't develop VB6 any more we started to search for alternatives. And found plenty of them...personally, for me, it was a precious reset from their eco-system. Bottom line, half of our team is running Windows only as a virtual appliance to KVM or VMWare, and ONLY because we MUST provide support and enhancement for our main (VB6 based) product. It's **** hard to rewrite it, but slowly we're getting in to it. Enhanced version of VB6 could buy us more time, maybe even keep the code running, but there is less believe in MS each day and some point (soon) will become a "point-of-no-return".
We already converted servers to Linux, and main development is done on virtual XP and 2003 Servers. W7 and W8 are there too, but just for testing and keeping track with latest changes. Visual Source Safe is about to be shutdown too, in favour for SVN and Office is a long forgotten story, not to mention ongoing conversion of the databases to Postgres.
Pretty soon it will "just" be the VB6 that ties us to Windows. At that point we are going to put all of our efforts to overcome that "inconvenience". Nice people from Jump2Java offered their help there....
I've posted here more than year and a half ago failing to get any attention from the Visual Studio team since then. Looks like a deal breaker to me :)
rather than huge arguments just tell microsoft if you want an improved version of classic vb or not. yes there's no harm in having an improved version coz it would be great to avoid the learning curve and still be able to develop apps for windows 8/7/vista etc and windows mobile. cheers
Eugênio Pacelli Salgado Canaan commented
Agora VB6 depois de vinte anos de estabilidade, vai ficar dando tela azul.
Com quem esse anti VB6 acham que estão falando, hein ?
Com um garoto que cata lixo que achou um livro de VB6 no lixo
e logou na lanhouse da esquina de 1 real a hora ?
Será que o cidadão tem idéia de quantos aplicativos bancários por exemplo,
NUNCA serão convertidos para dot net simplesmente porque ele NÃO COMPILA ???
Nem vou discutir mais, se alguém chegando agora lesse 10 por cento dos comentários,
CANSADO DE OUVIR TOLICES, VIU ?
VB6 now, after twenty years of stability, will be giving blue screen.
Who, this anti VB6, think they are talking about, huh?
With a boy who collects trash, and found a book of VB6, trash,
and logged in the cafe on the corner of 1 real time?
Does the citizen have any idea of how many banking applications, for example,
NEVER will be converted to dot net simply because it does not compile??
I will not discuss further, if someone coming now, read 10 percent of the reviews,
TIRED OF LISTENING NONSENSE, SAW?
David Rathbone commented
Hi I also have a loads of old active VB6 code in my day job to support. This all had to be dragged over to Windows 7 as XP support was turned off.
However its a lost case and much of this code will never be re-written into .net. If Micro$oft ever does dust off VB6 it will not listen to anybody and hack .net to fool you that VB6 is working.
WinSock is a classic case. Also VB6 is 32 bit and WOW64 is another hack to make this code still work.
But be warned WOW64 has loads of issues with threads and RS232/USB so if you liked VB6 then you liked the blue screen of death.
Microsoft developers like new code tools and will drag incompatibly and poor functionality every time it re-invents itself!
Hi David and welcome to this thread.
You may not realize it, but many of the posters here also develop in other languages.
With VB6, I and many others have large applications to support. It is generally not feasible to migrate these (on grounds of cost, complexity or performance). And support doesn't just mean keeping them running but extending them and enhancing them too.
We are lucky that a VB6 application developed for Windows 95/98 still runs on Windows 7/8.x without needing to recompile. Even so, many here would welcome an updated/enhanced VB6.
I certainly wouldn't recommend that VB6 users move to .Net now (though it is possible to argue it would have been a good idea 10 years ago).
An epic fail by Microsoft, but they still have a chance to right their mistake and possibly even regain some of the trust lost by their abandonment of VB6 developers.
David Rathbone commented
Basic and .net long lost the plot and if you use any Visual Studio IDE then C/ C# , ASP, Java then you will end up having it compiled into .net!
Microsoft made this so you HAVE to use its OS. Windows 8 even forgot about its millions of Apps until it's boss said bring out 8.1!
Its a company going down the pan its time to bail and learn new skills!
I noticed that everyone wants a piece of the VB6 community, and I told them every time: if MS could not destroy this growing community, you have no chance at all. And the secret is: they have to make languages that open and compile VB6 source code. :) ... but this is even more complicated than it seems.
That is the exact point.
Many languages offer to replace our VB6 programming language. Real Basic/Xojo, FreeBasic, PowerBasic, Lazarus, Jabaco, Gambas, and others. Even Microsoft made a half-hearted attempt.
Often they are excellent. But they all have the same problem.
They will not open and compile VB6 source code.
And if they can't do that, they aren't VB6 replacements.
VB6 the world's favorite Basic programming language.
Lazarus is not VB6, is pascal ... I do not see the resemblance and the association between the two ... I want to see Visual Basic 6.0 reloaded !
Worrying about the future has consumed far too much mental RAM for of us since MS pulled the plug on Visual Basic (1 to 6).
Do you still trust Microsoft to look out for you after that?
Recently the penny dropped for us.
There is an open source community that has continued to extend an awesome replacement for vb6 for many years now, for no reward other than the love of it.
Lazarus, the IDE is in some ways behind vb6 but in others ahead of it. Crucially, it compiles for platforms other than Windows, e.g. Linux, OSX, Android and others.
Our plan is to simultaneously continue with development/maintenance in vb6 whilst simultaneously developing a Lazarus program to port our vb software to Lazarus/FreePascal.
Luckily, it appears that there's plenty of time and once this port is done we'll never again be athe the mercy of a single vendor.
After 50 years, BASIC still misunderstood !
But VB6 is still the most popular version of the Basic programming language - Tiobe index, April 2014.
VB6 the world's favorite Basic programming language.
VB6ers have to get over it. .Net rocks. Move to c# and don't look back :-)
Kevin Matney commented
Still using VB6 for many important Apps - even some new ones. I have also written some new Apps in VB.Net. The problem with with VB.Net is that I spend way to much time on the language nuances and the complex IDE setup (especially coping with programs written in different .Net versions) In VB6 we spent most of the time writing real code and getting the job done. I hardly consider VB.Net a rapid development environment. I use VB.Net because I have to, not because I want to. Like many, I'm tempted to abandon VB.Net altogether and go C-Sharp, but I still love how fast and powerful VB6 is/was.
still use vb6 for many apps, and still learning .net
Update vb6 to the windows 8+ platforms would be
a great assets to my customers also.
Make it run the apps already created in VB6