I suggest you ...

12,081 votes
Sign in
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Eugene shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    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.

    Paul Yuknewicz
    Group Program Manager
    Microsoft Visual Studio Cloud Tools


    Sign in
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      • Anonymous commented  ·   ·  Flag as inappropriate

        "Close VB6 product related suggestions"


        All these Uservoice forums regarding VB6 are MAINLY CREATED BY TWO SPAMMERS. Here are the names:

        First Troll a.k.a VB6Awards

        yogaguy, hotman, Jonathan, Jhony Bravo, Pinky, Maradona, The king of programming world, Xman in the bath, Zagor's MASTER, Sek, Vasco da Gama, Jesuss,
        VB6 programming is the best, VB6 programming utilities, George T, Google, Mcdonald, Crugar M, Megan, MichaelMichel, Travolta, Jusepe, Dani, Anonymous, Windows10, Mistress, Joy, Recado, Gudman, Gigim and many more.

        The second troll is a person called "Sten". He writes in other forums by pseudo-name "Sten2005"
        Here he uses the following pseudo-names:

        Sten = Jon, Mike, Microsoft, update VB6 programming & VBA programming, Richard Collier, Robert McHugh, Paul and many others.


      • Microsoft, update VB6 programming & VBA programming commented  ·   ·  Flag as inappropriate

        Microsoft's support statement for VB6 programming is here...

        The Visual Basic team is committed to "It Just Works" compatibility for Visual Basic 6.0 applications on the following supported Windows operating systems:
        Windows 10
        Windows 8.1
        Windows 7
        Windows Server 2016
        Windows Server 2012 including R2
        Windows Server 2008 including R2

        The Visual Basic team’s goal is that Visual Basic 6.0 applications continue to run on supported Windows versions.
        As detailed in this document, the core Visual Basic 6.0 runtime will be supported for the full lifetime of supported Windows versions, which is five years of mainstream support followed by five years of extended support

        The VB6 runtime will ship and will be supported in Windows 10 for the lifetime of the OS (that is until 2025).
        The VB6 runtime will ship and will be supported in Windows Server 2016 for the lifetime of the OS (that is until 2027).


        The VB6 programming IDE installs on Windows 7 and Windows 10 http://nuke.vbcorner.net/

      • rodriques commented  ·   ·  Flag as inappropriate

        @Tom McCarthy

        You want to say:

        Why was VB.NET deserted?
        There are many reasons but I would like to present major ones.
        -VB.NET was/is full of bugs. VB6 has NO bugs.
        - VB.NET could not do multi threading and VB6 can do that even better. VB.NET was/is a very complicated, bloated platform for not so professional users.
        - VB.NET was easy to hack. VB6 is impossible to hack. Programs written with C# were not safe (buffer overflow problems).
        -VB.NET was not maintainable. It was not Object Oriented, which is a big no in today's modern computing requirement

      • Jon commented  ·   ·  Flag as inappropriate

        Amusing how Zagor the troll sock puppet has to generate new accounts each day. :)
        What a sad and desperate obsessive compulsive.

        But thanks for all your posts supporting VB6 programming ;)

        It's because VB6 programming is inside your head :)

      • Tom McCarthy commented  ·   ·  Flag as inappropriate

        VB6 is dead. Cannot be used to develop any application in modern windows. Use java or c# instead.

      • Tom McCarthy commented  ·   ·  Flag as inappropriate

        Why was VB6 deserted?
        There are many reasons but I would like to present major ones.
        -VB6 was/is full of bugs. VB.NET has NO bugs.
        - VB6 could not do multi threading but VB6 can do that. VB6 was/is a very complicated, bloated platform for not so professional users.
        - VB6 was easy to hack. VB.NET is impossible to hack. Programs written with C# were not safe (buffer overflow problems).
        -VB6 was not maintainable. It was not Object Oriented, which is a big no in today's modern computing requirement

      • Tom McCarthy commented  ·   ·  Flag as inappropriate

        I agree 100% with Kerry. A young programmer shall never start with VB6, which is a dead language and irrelevant in today's modern computing world. Moreover, it drops like a rock in popularity in indexes like Tiobe. Not to mention, VB6 has been elected as the most hated language of all times by Stackoverflow. There are so many much superior languages around. We shouldn't even be talking about VB6.

      • Tom McCarthy commented  ·   ·  Flag as inappropriate

        1-why VB6 dropped from 14th to 18th position in only one month in Tiobe? How can you explain this? If VB6 was the best language how come it drops like a rock?
        2-why VB6 is chosen as the most hated language of all times by Stackoverflow survey 2017?
        3- Why there is no modern commercial program written in VB6 if it is sooo good?

      • Tom McCarthy commented  ·   ·  Flag as inappropriate

        1- VB6 is way primitive compared to a new framework like NET. That's why it is considered a toy or office utility like VBA.
        2- VB6 can easily be decrypted like many other platforms. If you believe it can not, you fool yourself.
        3-VB6 produces non modular, highly unmanageable, non expandable, non testable code. Good coding/bad coding practices is NOT an argument here, as producing bad code is built-in VB6. You can NOT write complex code with it and if you do it will be simply be a mess. (I know it because I used both VB6 and NET). VB6 promotes bad coding. Simple as that.
        4- There is only a few hundred active users of VB6 left. Even no one is using it in the scientific community any longer, no one uses it in the educational sector. The only leftovers are the legacy codes at small to midsize companies. This code will eventually die out, when the need to use them is not there anymore.
        5- Tiobe index VisualBasic is NOT VB6. It includes VBA, Powerbasic,realbasic etc.etc.etc. VB6 is only a fraction of the whole. Why you folks don't admit it?
        6- Microsoft will never ever bring back VB6. It is a proven fact and they declined the request of this UserVoice forum. They are busy with Win10 promotion and have no funds and interest to even provide a free download community version of it, as it does not fit Microsoft ecosystem (trust me on this)
        7-No one is interested in your drive to create a VB6 alternative. Your excuses are nonsense. If the guy can sell a program @1k each, he should be able to give away 20,50,100 dollars easily. Your argument does not take off. The reality is no one is willing to donate money for a drive promoting a single shot like your guru Olaf to pocket the money and create a nonsense without firm guarantees and work plan. You guys are fooling yourselves.
        8- Posting false VB6 rankings at ranking.com, constantly claiming that VB6 is the best, trolling forums and posting bunch of spam in order to force VB6 back doesn't help but on contrary makes VB6 community to lose credibility.

      • Tom McCarthy commented  ·   ·  Flag as inappropriate

        VB6 is a dead language and almost no one is using it. We have to face reality. There are hardly a few thousand people maybe using it actively. As we all know the drive to collect 150k of funds failed miserably at Indigogo. Only over 2k has been collected in three months. It is a devastating news for the VB6 enthusiasts. On contrary, against all negative comments NET is on the rise, especially with new additions and improvements. There are more than 6 million users and high paying jobs all around the globe. This is the truth. Like in nature, everything is born and dies.This is true for VB6 as well. People should go on with life learning new languages and stop being stubborn on hopeless things like VB6. Microsoft will never make a free download of VB6 as it is not a ecosystem which is maintained any longer.

      • Tom McCarthy commented  ·   ·  Flag as inappropriate

        Martin Phillips says
        I think you people have to realise that VB6 is dead and it's not coming back.
        Microsoft has no reason to bring it back.
        Most of the people who learnt VB6 are now too old to coding professionally. VB.NET has new programmers each day.
        The coding world has moved on with .NET and Java and those it left behind were left behind because they were not intellectually capable to realize the paradigm.
        I and many others were, however, capable of adapting .NET to this change. We use .NET and love it!
        So I'm sorry for you people who are unable to evolve - such is the nature of life. Only the strong survive. You just have to deal with that.
        VB6 is dead and it's NEVER coming back!

      • doom commented  ·   ·  Flag as inappropriate

        The creation of a tool like VB.NET was a very good lesson for the programming community and taught the programming world a good lesson that nobody should produce anything such as VB.NET and the .NET framework in the future. The reasons may be listed as follows:
        1- VB.NET was a "patch-up" tool from the beginning. The VB.NET developers at Microsoft were trying to make everybody happy by adding patches here and there, sometimes quite in unorthodox ways. There has never been a top to bottom approach from the beginning. The big picture of the forest was never there. When someone wanted something new, they were planting some more exotic trees into that forest which become slowly but surely an uncontrollable ecosystem, namely a jungle. When they have created VB.NET, it was that moment, I believe, that things start getting out of control. There were so many unorthodox, unconventional hacks into the heart of windows APIs, that the VB.NET ecosystem started cracking and the collapse would have been imminent, ETC...
        2-The other factor that the VB.NET and C# ecosystem was doomed to fail sooner or later, was the fact that the entire windows structure was exposed to programmers through API hooks in dangerous ways. It was an unmanaged way of reaching to the heart of windows which could only worsen the entire operating system. There were OCX and third party vendors, which have mushroomed almost overnight,quite uncontrollable and able to do all kind of hacks without giving any thought about the consequences. Big companies producing important, mission critical code and informed programmers with vision could see that VB.NET was sinking in it's own weight. Maintainability, expandability, creating standard coding practices was impossible. It was a dead end. That's why they were more than willing to jump back on the managed ecosystem that we call VB6.X today.
        So in short, it was a huge necessity to get rid of a flawed tool called VB ecosystem and design something properly engineered, which would live a long and healthy life.


        Having used both VB6 and NET I can tell you that VB.NET is not suitable for LOB windows applications. I remember having designed complex code in the 90s and early 2000s and it was almost impossible to unit test those complex applications, not to mention the maintainability and expandability aspects. That's the reason why most of the big businesses were happy to remain to VB6 since very early on. It doesn't mean that all software is complex and requires solid principles to separate UI and business model. However for big businesses and their mission critical software this is vital as they want to keep their codebase maintainable and expandable. VB6 is the best choice for windows to do this. Ask any professional software developer and you will see that VB6 is the most popular. It is an almost complete framework with huge user community and VB6 programmers are highly in demand (and very, very well paid). There is no sign that VB6 will go extinct any time soon (supported until 2027). It pleases professional business software developers immensely. Yes there are other software that you can use for mission specific purposes. For instance ADA is a very old language that is widely used in aerospace and aviation due to it's many fail-safe features. Obviously,using VB6 wouldn't be practical in such a case. Similarly, Python is embraced by the scientific community for similar reasons. Currently VB.NET has really no such area, in which it would be the best choice. There are many other modern languages, equally easy to learn and targeting RAD type of environments.

      • doom commented  ·   ·  Flag as inappropriate

        VB.NET and C# are not just bad languages -- they are a hideous jumble of traps and annoyances, a short step up from Intercal in usefulness. VB6 remaind the best ever created language !

        1-VB.NET has awful declaration syntax and requirements. Variables must be declared but cannot be defined at the same time. Every interesting object is a "variant", which is a useless declaration.

        2-VB.NET has a Prison-like development environment. I can't develop code that's not tied to a document somehow; I can't even put the code in source control except by copying the text out into a separate file, then copying it back in for use. I can't leave one routine partially written while I investigate something else, because the editor will go crazy.

        3-VB.NET has active hostility to polymorphism. If I want a function to work for numbers, I have to make sure those numbers aren't wrapped in a 1x1 array (a variant!) because VB will not unwrap them for me. But I can't just test whether a function input is a variant, because that is too general.... there is no good solution to this.

        4-VB.NET has a complete lack of libraries. Methods that would be standardized in serious languages, or built directly into the language, are just missing. Where are my hash tables, deques, etc? Where are sort and unique and filter? Where is map? They are nowhere to be found, and I can't supply them except by loading documents over and over into the catastrophically bad IDE, see (2).

        5-All of these considered we can say that VB>NET would be a show-stopper for serious consideration. Active hostility to polymorphism is the most painful to deal with, but I guess complete lack of libraries is actually the most serious.

        I hope my answers satisfy your question. Have a nice day"

      • doom commented  ·   ·  Flag as inappropriate

        Now lets have a look at VB.NET

        -VB.NET is slower than VB6

        -VB.NET is as old as a dead horse. It does not run, it just sleeps.

        -VB.NET is not a RAD it is cumbersome. Can't do enterprise apps.

        -VB.NET has dependencies but VB6 does not !. Running on window is like trying to skate on sand.

        -VB.NET is ugly and boated. The IDE is outdated, the forms are of last century. They look soo primitive. Yack!

      • Jon commented  ·   ·  Flag as inappropriate


        It's when you find yourself saying "I have never used C# or java" and at the same time say "We use NET technologies ".

        It's when you post hundreds of comments about a programming language you don't even use.

        It's when you have to generate new user accounts each day.

        It's when you have to make posts agreeing with yourself.

        It's when you say "DotNET is the most powerful language" and at the same time describe Java, Cpp, C# and others as "unpleasant languages".

        It's because VB6 programming is inside your head :)

      • Anonymous commented  ·   ·  Flag as inappropriate


        Come and immerse in DotNET God.

        DotNET is the most powerful language. It is the god of all the languages. Come and join!

      • Jon commented  ·   ·  Flag as inappropriate


        >> "Don't you think that different people may have different opinions? Some may like C++ some may like C# and java and others may even be stuck at VB6, like you. ;-)"

        But you told us today you consider "Java, Cpp, C# and other unpleasant languages"

        So you don't like Java, C++, C# and VB6 and VB (you have said this using your TEKILA false name today, which even you can't deny).
        It doesn't leave you many languages to have your different opinion about ;)

        It's because VB6 programming is inside your head :)

      Feedback and Knowledge Base