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
It is interesting to see that this idea is still listed in 'Hot Ideas' even though it relates to a product Microsoft abandoned years ago. And it has more comments than the other Hot Ideas and the second highest votes. (Second to Silverlight, also abandoned by Microsoft).
And despite the idea being accidentally declined.
Maybe "The silent majority of VB6 users" aren't that silent after all.
I can't sign the http://classicvb.org/petition/ either, for the same reason.
But even though I can't vote, I want VB6 to continue, preferably with an enhanced version - a real VB7.
Bring back classic Visual Basic - we have VB6 applications to support.
Excellent... you never know, one day they may get the message. I saw one comment saying that VB.net was beautiful, extremely powerful.
What planet are these people from? Honestly, it is neither of these things and I simply question whether or not these people ever worked with visual studio six & VB6.
I politely and respectfully invite / challenge people to list the good and great dotnet applications that have come out of the dotnet community... I want to see if I recognize any.
Hint - vb6 made me a millionaire .. and you?
@Xavier, I'd respectfully be very interested to know what you do. I'm yet to find a mainstream use of dotnet. (I'm yet to find a Microsoft app that uses it). I'm sure there is one and I simply ask so I can understand.
I'm a classic vs6 programmer and I pioneered some software that was mainly VB6 with a little under the hood tinkering from C++. I turned over a few million out of it.
Is dotnet the holy grail of "wants" for such programmers? I hired programmers to add to my core package, and they kept telling me the virtues of C++, so I gave them free reign and yet for all their undoubtedly impressive acknowledge, they struggled to come up with basic (pardon the pun) GUIs. It was only when I insisted they stick to boring old VB6 that they started being productive.
I don't know how VB6 could be described as inelegant as you infer by comparison -- it was a simple, beautiful, clean, fast tool. It could be used by idiots to produce horrible hacks, or you could introduce management, add-ons for code control, discipline about the use of run-time only error trapping, and end up with some unbelievably solid run-time programs.
So you will understand if I ask.. What do you do?
Am I the only one that has tried that http://classicvb.org/petition/ every which way only to find it keeps saying "Unable to save your details. Please ensure all required fields are filled in" -- ie: it just doesn't work? Perhaps it's rejecting all but US computers (through the HTTP header)? I've tried over the months, through IE and through Chrome..
And don't forget we still have to support legacy software. We need a VB6 future, either from Microsoft or as Open Source.
I know this is OLD news, but I think it is appropraite for this discussion, just in case somebody missed this.
As a number of people have pointed out, it isn't a question of whether VB6 is better than VB.Net (or any other language). The issue is that VB6 applications still need to be supported as there is no automatic upgrade from VB6 - and manually updating VB6 code to any other language isn't feasible.
If you were to manually upgrade an application consisting of tens or hundreds of thousands of lines to say VB.net the time/cost would be enormous (and the customers wouldn't pay for it) and the end result would be an application that would run slower than before and that would (initially at least) be less reliable than the original.
Had Microsoft provided an upgrade path we would have used it - instead we are still waiting 12 years later for that upgrade.
If it were as easy as learning a new language there would be no problem.
Since the demise of vb6 I have become quite proficient with VFred, Java, PHP and ECMAscript, besides giving a deep look at Delphi and C#.
The problem is that half million of lines of code, plus that couple of thousands of installations, most of them relying on user-developed vbscript extensions that use COM to talk to my application objects, in a fashion that was supported by VB.Net 2003, but not by later versions.
And there is no point in migrating all that code, that works perfectly and is easy to maintain and modify.
Besides being used to carelessly scribble silly apps, VB6 was used by very professional programmer to write first class code that implements first class designs.
We do deserve some respect.
And I don't mean silly people like Gary and his hype-fed mates, but the respect that the providers of my development tools should show towards their customers.
There is no technical reason to stop using or supporting Classic VB. MS made a huge mistake by decomissioning the product. They are still on time to ammend it.
Thank you mjohn for the great link and thank you Gary for calling us losers and reminding us of the influences bordering on bigotry that we are up against.
But oddly, I agree with Gary to the extent I'm not that keen on Microsoft bringing back VB6. My corporate customers (who have spent millions on our VB6 products) had consultants that used to inspect our offering, and when they saw we couldn't migrate, it nearly killed us off. However, get this.. They have dropped MS's lead and no longer dictate to me what tools I use -- they are just as confused as everyone else with obsolescence and barely-backward compatible upgrades. And believe me, IT depts really don't like the hassle of managing all the .net framework updates. Hence, I support huge customers that *still* only have XP (and are looking to Linux).
So things are now changing. My customers no longer care what I use as long as it works, so I have a secret tool no one else can buy and it allows me to deliver faster, with greater cross-platform deployment (w98 to w8, linux wine, etc)... So right now, I would not thank MS for bringing back VB6+. However, MS remain unforgiven for putting me through this and losing me at least a mill. And my dear Gary, I'll wager that unless MS changes it's spots, you'll be on a similar forum in a decade's time lamenting exactly the same inconsistency.
c# is 6, microsoft has promote it 12 years, it still very bad, and is dropping.
vb6 is 7, through vb6 was killed by microsoft 12 years, still many users use it.
vb.net is 12.
The old language c, java, c++, obj c are all old languages, but they live more better than c#.
You are kidding it needs to be dead, just get over it and upgrade losers. vb6 is history and that can only be good news.
Albatross sandwiches anyone? A brilliant Monty Python reference to the epic "Ancient Mariner" by Coleridge.. a poem that Microsoft clearly has not studied.
LMKz (5 below) threw in a reasonable if not caustic pitch for a different product. However, the majority here, like me, lost many man years of software thrown into a dead-end. Not only do we have no upgrade path, we were illegitimised by talk of obsolescence, withheld sales, and talk of VB6 being somehow improper and simplistic. You can still buy XP, but not VB6. MS reassured us that Vista, W7, 8 etc would not break legacy software, but this did not extend to its own VB6 IDE, despite still being the Office scripter. We were campaigned against so its successor could sell more (and I suspect by the "tool makers" who were jealous of our instant financial success).
To LMKz I say: VB6 is a bit like the old classic Army Jeep, simple and thus outstandingly functional, popular. Obsoleting VB6 was like Jeep saying to the armed forces, at the height of its popularity, we're going to stop making it, tell erveyone it was simplistic and unsafe, and deny access to parts. VB.Net as an upgrade is like offereing the forces limousines -- useless in that environment. Sorry LMKz, VB6 is RAD, Net is not. Have you ever tried to mass market a Net product? A client recently rejected my proposal of a Net product over concerns about the huge framework and version confusion. Download a trial Net exe and you will see.
The demise of VB6 was not a small thing. For me it was indicative of the way Windows progression bulldozes over its own past. It was in at Windows heart. A slightly ungainly bird that flew brilliantly from its inception as a GBasic interpreter, Quick Basic, then VB2, 3, 4, 5, VBA etc. But no, somebody on board the Microsoft ship just had to shoot that beautiful albatross.
And now they wear that albatross around their neck as their ship stagnates -- a reminder to anyone about the perils of forcing its own customer base to the point of betrayal. Success breeds contempt they say. Ps: I avoid MS now. I would come back if they listen.
As for 800k lines of code being questioned, well that's par for the course from what I've seen over the last few years.
Systems that I work on now typically have hundreds of forms and modules worked on by multiple devs over 20+ years, and it all mounts up.
About a year ago I had a phone interview for a VB6 role.
I wasn't working at the time and although I could learn VB.Net to stay in constant employment I'd rather take my chances sleeping under a railway bridge than learn another Microsoft language.
So.... I passed the technical test and got through to the asking questions stage of the interview.
How many lines of code?
What's the plan?
A small team going to re-write the entire VB6 system into fully class based syntax, using interfaces , as a first step in the planned re-write to .Net
Fixed 12 month contract. Interested?
The agent kept chasing me for that role for weeks and in the end I just didn't pick up the phone.
There is still a steady trickle of VB6 jobs meaning NEW CODE is still being added, even today.
Interesting problem for Microsoft, no?
I use VS 2012 every day for developing Web apps und silverlight apps (Lightswitch) but the speed of the IDE is horrible in comparision to the VB6 IDE - for a small company it is very important to produce software as fast as possible in VB6 is much more RAD than .NET
MS should support us with a new VB7 or a migration path to .NET without rewriting the whole app!
Why is it so hard to understand that the relative quality of Classic VB compared to VB.Net doesn't have anything to do with our request?
We have large applications written with VB6 that are being used by customers (the actual user base of current VB6 applications may be in the order of several millions, and the number of development shops still relying on VB6 could probably be counted in at least hundreds of thousands). Since those applications can't be automatically migrated to VB.Net, and since there is no point -business wise- in performing that migration manually, we are requesting that the author and provider of our development tool understand our needs and expectations and commit seriously to support our work.
I don't agree with any of the ersisive comments regarding VB.Net: it is a fine language, VS's IDE is finest, as a language, VB.Net is better than Classic VB. Performance just sucks, but hardware has greatly improved over the last years.
But it is not compatible.
If they managed to provide a migration tool that guarantees that everything that is now working under VB6 will work exactly the same when migrated (even user provided extensions), there would be no problem. But such tool doesn't exist, despite the efforts of several people within MS, and in several other companies that have been striving to build it, with no success at all so far.
We are stuck with probably billions of lines of code that depend on a decaying, severely threatened tool and environment, just because some hard headed idiot at MS developed Java-envy.
That is just insane.
If they had either common sense or an ounce of respect for their customers, they should bring back Classic VB.
As a developer, @LMK only consider for himself, not consider for his customers, this is bad.
I use c#/asp.net every day and I use vb6 many years and when I do cs software i will choose vb6 first.
.Net is good for web, despite .net program is very slow, is very bad compatibility, eat many memory, waste many power, but this is only relate to the web server, not relate to the user.
But cs software relate to the every user's computer.
When do cs software .net framework's speed and compatibility is just a **** when compare to vb6 's runtime.
Are you people insane? Have you actually tried using VB.Net, it is (no exaggeration) a BILLION times better than VB6...
Put in some effort (maybe 24 hours) to learn VB.Net/C# and you will realise how foolish this sounds.
Why not go back to 8-bit PCs while we're at it??
Concerning code lines / size (see comment below): It is no problem to handle pretty huge apps with VB6. We have one with 126k lines of code / 6.6 MB source - and that is after subtracting all comments and blank lines! (Ohterweise: 221k lines @ 8.7 MB). Also it's just the main app - not including about two dozen ActiveX DLLs. Works perfectly in VB. The IDE needs about 5 seconds to load the whole thing and 1 second before debug execution starts.
Don't compare games to business apps! Games (in general) have less source code but more data files like graphics, sfx, music, level files, scripts. Business apps implement nearly all that is happening in source (or in SQL / databases).
Bottom line: VB6 really is the only real RAD tool I've ever come across.
Rewriting that thing in .NET? Yeah right - and how is going to pay for that?
Since there was never really a good upgrade path VB6 will stick around until either Microsoft caves in and releases a new VB or they abandon VB runtime support (which would effectivly cost them at least half of their business customers).
But since when does MS care what the customer wants? Xbox One (what a stupid name) with heavily DRM, ban of pre-owned games, ban of sharing games with friends, ban of rentals, forced online connection, spy-cam and all of these "goodies" just for 100$ more than the competitor which does not do any of this? Good move right there MS, good move... Falls right in line with Windows 8, Windows 8.1 (the customers want back their start menu? Well **** them! We will give them a button that does do the opposite of what they want! WHAHAHA!).
We recently queried all our business customers (mostly big companies with 500+ employees) if they would upgrade to 8. The answer was (summarized of course): **** to the no! Most of them are currently busy upgrading to Windows 7 and a newer Office (2010 that is). And they are all planning of skipping Win8 altogether - I have no idea what they will do if MS continues their f*cked up product strategy...
Well I guess this is the price one has to pay for supporting a monopolistic software company for decades.
MS is killing one technology after the other off, rather than to continue to evolve existing technology and thats the point for me. New technology comes out which have less functionality, is slower and we msut wait until version 2 or 3 that it works as the older one and then MS kill's this (see Lightswitch Silverlight client)
VB6 is very fast (runtime and IDE) and I can build RAD...