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
Agree with Leonardo. Internet has been around for 20 years and .Net has been around for 10 years, and today people are still talking about the cloud is the future. Yes it's true, and it will still be the future in the future.
We are asking for a successor of VB6 because VB6 was the world's most popular development tool at the time MS decided to kill it. We need a tool to get thing done easily, rapidly and done well. It will be a success if MS allows VB6 to evolve in the right track.
@Leonardo Azpurua: we are in the same situation - everybody takes about html5 but do not understand that there a also the need for apps with interop (office integration, reporting, drag & drop, keyboard navigation)...
VS 2012 is slow and not a RAD Tool - we small companies need a tool to build apps very quickly - Lightswitch was a good idea but MS has killed the silverlight version which was good for building LOB applications...
Art Gola commented
Die. Die. Die.
Win7 phone break wince, so win7 is dead.
Win8 phone break win7, so win8 phone will be dead too.
Win8 rt break win32 api, so Win8 rt must be dead.
Today, New lanauge has no change to alive, specifically close-source language has no change to alive.If has no mono, .net and c# will die quickly too.
It is not c#, is not the .net framework, not the closed-source language.
So c# and .net has no future if has no mono.
Microsoft has no future is it break compatibility again and again.
Who cares about the future?
Today, I have about 2000 customers using a system written with VB6. Some of them have needed web support for their operations, and I have provided it. Others have requested to go mobile, and I have provided it. Of course, not all has been done with VB6, but the core system is. And it is a fairly large system.
Most of Office Automation is done through COM, which may not be useful in all this new world, but which is still much used for component and programs interoperation within the local computer.
Interop is still needed, and will always be. And breaking COM would mean breaking LOTS of computers.
The future is fine, but they can't break the present and get away with it.
They should know!
i do not understand you .... I too loved vb6 , and vc++ 6 too ....but get over , COM is history and has to go away , future is xaml,cloud,services,wcf not vb6
Uncle Fester's put the Start button back!!
VB6 re-released and bundled with free NSA backdoor API!!!
VB6 Programming commented
I can't sign the http://classicvb.org/petition/
But there is another petition at:-
You know, I'm completely agree with an open source version but i'd prefer an updated version by MS. but asking for a new version is just goose chase! so I'll go with Open Source.
Whats keeping you MS? we're waiting!
Microsoft, if you do not understand how stupid about killing vb6 with vb.net, this analogy will make it clear about it. Think about one of your many many genius officer now suggest to kill office by replacing with office.net, which will not backward support the billions of office document files out there in the world, so that the whole world are forced to buy your new office.net ...
Haha, what do you think the actual result will be turned out?!
So, give us back the VB7 we are longing for!
The structure of VB6 should be modified like vb.net and all tools of .net framework and c++ should be added in but in native mod to develop extremely high level application with it
If there is a new version of VB6, not only Visual Basic 6 thrives, Microsoft thrives too!
BASIC: Beginners Are Shafted It's Complicated
The new visual basic is everything except basic
No doubt skills have been lost. But don't forget VBA is almost identical to VB6 and is still part of Microsoft Office.
And there is now a VBA7 - which adds 64bit support.
From what you describe, I find it a bit surprising that you "don't get" .NET.
You appear to be quite a seasoned programmer with lots of experience.
I think that, although VB.NET and VB6 share a similar name, the similarities end right there.
Programming in .NET requires a different mindset that, to me, is more logical and a lot more powerful.
Well, I think that's the whole problem: perhaps you are trying to "see" .NET with VB6 eyes (if that makes any sense).
Although both are supposed to be object oriented languages, VB.NET takes it to a how new level, while VB6 only scratches the surface.
I understand that VB6 embraces the whole "rapid application development" environment a lot better than its .NET languages counterparts, but that's a tradeoff I'm quite happy to live with...
My recommendation is that you give it a second chance; but this time, try to see VB.NET (or, perhaps, c#) with completely new eyes. Assume nothing.
I guarantee you that once you get the hang of it, you'll be asking yourself why you didn't switch sooner. Trust me. The same thing happened to me.
When .NET 1.0 was released I had the exact same feelings as you. But by the time version 2.0 was released, it changed everything.
I still need to maintain many VB6 applications and I just get depressed whenever I have to travel back in time to work on them ;)
One thing those hoping for a VB7 must consider is the fact that the MS employees with the VB6 experience have almost certainly moved on.
I doubt MS would have said, OK we are wrapping up VB6, all you guys can sit in that room over there just in case we decide to bring it back later.
More likely they've moved on to other things like the .Net team, and would not even want to move back.
I'm guessing the code is pretty tangled and mega-complicated. Who would be smart enough to pick it up and run with it now?
As for TIOBE, it looks possible PYTHON will overtake C#.
Maybe ** could create a new Visual Studio, that supports other languages?
Maybe even VB6?
Lofaday - 0AV com - new IDE abandoned commented
Many thanks @Xavier for your courteous and constructive reply.
I think there is a very interesting point to be made here if Microsoft is listening -- there are very different types of developer, ranging from batch scripters through spreadsheet users, right through to Java on Sparc servers then driver SDK mastery. ASM isn't on that scale as it is a different tool that I use when VB6 runs out of power (and I use C++ similarly). Those at the left end of that spectrum (me included) produce customer interfacing apps as packaged, finished, documented tools for operators and users. Those at the other end of the spectrum make the tools and drivers for people like me, or work on banking system server farms.
You are IMHO a very advanced programmer and possess skills which I do not, with an eye to the lower level, deeper stuff. I have a relatively poor memory for details, and I don't like development platforms that require massive amounts of knowledge. I have a very logical mind that works well from a small data set. VB6 and ASM (which is also by nature reduced instruction set) just do it for me. Others who memorise things well take to C++ and, it would seem, to dotnet. I don't want to be learning and researching my whole life, I want to learn a little and apply my logic immediately. When I buy the kind of tools that you make so very well, I'm buying research time that I don't have.
My quick CV .. transport timetable Information system software is the main one -- 100s of terminals, many thousand displays, guiding probably a million people a day. My other VB6 apps -- IIS, VoIP, Office s/w (DB & publisher, calendar), OCR, 3D designer, etc.
My software is more of a giant interactive spreadsheet -- it's very high level. It's all about making computers work for people. May apps process strings with thousands of exceptions, and need to interface what it's doing to operators. My skill set is being able to sit in meetings, analyse and design software, interpret what people want and need and deliver it -- Very quickly. It's also being able to introduce fixes overnight, and deploy on PCs that get locked away in dusty cupboards for years on end.
It's also about choosing the right development package that has access to "under the Hood" when inevitably some image/voice processing or other is required. I don't know what other people call it but I think of it as onion layer development. I want the high end stuff to have nothing to do with the low-end stuff. I don't want to be able to access the low-end stuff easily. I want clearly defined layers. To me, VB6 was perfect at providing the outer onion layer.
I get VB6. I don't get dotnet. In VB6, someone says they need a menu for something completely different, and I just do it. I like how the IDE is instant... If it needs to be streamlined, I can try it with changing values, recompile several times a minute. I like how i can close VB6 completely and reopen it again in approximately 3 seconds, even with several MB of source code. Of course VB6 runtimes are tiny and that also makes it easy to replace a PC, deploy to hundreds of PCs, or send sample applications to people who have no idea what a dotnet framework is (using INNO installer, as the VS6 packager has been badly deprecated and certainly doesn't work now).
I'm a hardware developer by training, and have a few assembly packages for my drivers, including an extremely simple operating system. I just started to use VB6 when other developers were letting me down. It was intuitive and powerful all at the same time. I quickly learned the fundamental disciplines of procedural layout and error trapping etc, and then I was out there in boardrooms selling stuff, and later as a development manager writing very quick applications for others to fill in the blanks.
But, in conclusion, I know there are people making blindingly good packages with other development platforms, and I simply consider dotnet to be something else. They are just different packages for different intellects providing different types of solution. For me, replacing VB6 with dotnet is a bit like going to an accountant, taking away his Excel spreadsheet and giving him SAP.
Dear L Ofaday,
To answer your main question regarding what is it that I do:
I code. I write programs for a living… and 80% of all the programs I’ve written are in VB6.
For example (and I’m assuming we’re of a similar age, otherwise you won’t event understand the purpose of most of them):
- The first (ever) program to ease the process of maintaining your GeoCities web site (2Geo).
- The first (ever) program to combat PopUps (PopUp Killer): http://software.xfx.net/utilities/popupkiller/
- The first (ever) ActiveX component to provide access and control to the Windows Mixer API (MixerPro): http://software.xfx.net/activex/mxp/index.php
- The first (ever) ActiveX control that allowed developers to monitor and, beautifully display, the audio being monitored through any mixer source (DXVUMeter): http://software.xfx.net/activex/dxvu/index.htm
- The first (ever) keyword-based search engine for Windows (KeyLaunch):
Here’s a nice article about this never-released version of KeyLaunch, which as a bonus, includes a live interview with me and Mr. Leo Laporte: http://whenimbored.xfx.net/2012/10/keylaunch-3-0-or-the-awesomeness-that-never-got-released/
…should I continue? Because I can…
Anyway, all those programs/libraries were developed by me alone, in VB6.
At the time, considering I’ve always been “quite fluent” in other languages, I felt just like you; as VB6 allowed me to rapidly and quite easily implement anything that came to my mind.
But things changed by the time Microsoft released version 2.0 of the .NET framework.
I won’t go into any details (as I feel I’ve already answered your question) but take DXVUMeter, for example… one of the most complex programs I’ve ever coded.
At one point, both the VB6 and .NET versions were equably similar (of course, this has considerably changed in the past few years), but their similarity was limited to just the functionality the library itself provided.
The way some stuff is done in that control is just, well… orgasmic in .NET, while in VB6, is just well, a PITA!
If you are interested, I could give some more “detailed” and “precise” examples, but trust me: coding in .NET is almost as good as having ***.