I suggest you ...

12,081 votes
Vote
Sign in
Check!
(thinking…)
Reset
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

    8384 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • TEKILA commented  ·   ·  Flag as inappropriate

        NET has a loosely-coupled architecture, idea for Internet and mobile applications. It is also designed for ease of development, and has many security and versioning features that could not easily be added to COM.

      • TEKILA commented  ·   ·  Flag as inappropriate

        I think Microsoft made the right decision in freezing VB6. The right decision in this context does not mean painless. Microsoft was in a bad place, and so was VB; it was always going to end it tears.
        The truth is, VB6 was never intended to be a complete development language. It was intended to be a language for high-level composition of low-level components, a glue language if you like.

      • TEKILA commented  ·   ·  Flag as inappropriate

        VB is and was a 'toy' language. The only thing it ever succeeded in acheiving is allowing a whole host of people with no experience to buy a copy and overnight call themselves 'developers'. Then queue a whole raft of badly written, absolutely appaling UIs (having not learnt any conventions) to be bestowed upon a poor unsuspecting worldwide IT community.
        Add to this the fact the IDE itself was slow, buggy and M$ even whilst creating the operating system and knowing all the common control dlls decided to wrap extended controls as OCXs causing an absolute nightmare of versioning and collisions of several VB apps being installed on a single machine.
        I think M$ has released some stonking software over the years, VB was never one of them.

      • TEKILA commented  ·   ·  Flag as inappropriate

        After 6 versions and 6 service packs for the 6th version, Microsoft didn't "abandon" anything.
        In the software world you either adapt or become irrelevant. VB 6 was becoming irrelevant as Java and the web began to grow up around it.
        It's really that simple.

      • TEKILA commented  ·   ·  Flag as inappropriate

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

      • MichaelE commented  ·   ·  Flag as inappropriate

        >> NO WRONG==>PLEASE READ

        I said VB6 can "functionally" do anything .Net can. Yes there are architectural differences. Sure. In fact COM is now (once again) better in some Windows environments.

        In truth, not fake news post mania, there is not one application that I could not write in it. The apps I create span from simple tools to apps that access terabytes of Oracle data. Now if I need to write a device driver I'll use C or C++ etc.

        Again, nothing wrong with .Net. More jobs there than VB6 too.

      • blablabla commented  ·   ·  Flag as inappropriate

        ░██░░░██░░░▄▄░░░░░░░██░░░▄▄░░░░░
        ██▀░▄██▀░▄███░░░░░░░▀██▄░▀█▄░██░
        ██░▄██░▄██▀░░░░░░░░░░░███░██░▀█▄
        ██▄██████░░░░░░░░░░░░░░██▄░██░██
        ███████▀░░▄▄░░░░░░░░░░░░████████
        ███████▄▄████▄▄░░░▄▄███▄▄███████
        ███████████▀▀███░███▀▀██████████
        ████████▀░░░░░▀▀▀▀▀░░░░░░███████
        ███████▀░░▄░░░▄░▄▄▄░░▄▄▄░░██████
        ███████▄░░█░░░█░█▄▄▀░█▄▄░░██████
        ████████▄░░▀▄▀░░█▄▄▀▄█▄█░▄██████
        ██████████▄▄▄░░░░░░░▄▄▄▄████████
        ████████████████▄▄██████████████
        ▀▀▀▀▀░░░░░░░▀▀▀████▀▀▀░░░░░░░▀▀▀
        ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
        ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

      • blablabla 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"

      • 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 ;)

      • Anonymous commented  ·   ·  Flag as inappropriate

        @MichaelE

        >>"@axisdj is right on, functionally VB6 can do everything .Net can. "

        NO WRONG==>PLEASE READ

        There are dependencies vb6... many windows installations don't have the bare backbone to run vb6 software. VB6 is a programming language from the 20th century, 1999 if I'm not wrong... leave it alone. In the beginning of .Net 1.0 and 1.1 it was more difficult to get started for smaller applications because the main audience of microsoft was enterprises, though since .Net 2.0 things have gotten better....nowadays there is much much more flexibility in the front-end and back-end, just think about WPF or linq or EF...they will speed up application development a lot! not to mention that all third party components and plugins focus on new programming languages and not on vb6... this language is for hobbiests and for old large legacy applications...

        VB6 limits you to decades-old
        technology. That means no SaaS,
        no SOA, no modern web. And then there’s the security issues. VB6 hasn’t been updated in years and doesn’t have patches to address all of the recent hacking. Only computers completely isolated from the web are safe. That means you can’t do even the most basic business tasks. Plus, VB6 is so outdated. It’s impossible for you to add functionality that you need. Kiss VB6 goodbye.

        There's been a strong push by the user community to open-source VB6 in order to ensure a better future for both the language and the developers. In early June, Microsoft officially confirmed that it will not be open-sourcing VB6. We have advice for those of you who are ready to move off of Visual Basic and on to more modern languages and platforms:
        The future for VB6 is more bleak than ever before. Hackers can exploit every security vulnerability. PLUS, if you are still using VB6, you are out of compliance with:
        • HIPAA
        • PCI
        • SOX
        • And lots more.

        Visual Basic is not just a bad language -- it is a hideous jumble of traps and annoyances, a short step up from Intercal in usefulness.
        1. 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. 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. 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. 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).
        Any of these would be a show-stopper for serious consideration of VB. (3) is the most painful to deal with, but I guess (4) is actually the most serious.

      • Anonymous commented  ·   ·  Flag as inappropriate

        SPAM ALERT!!! **********************************************

        Your behavior here is pathetic. You are incapable of making any sort of reasoned argument, all you do is copy posts from elsewhere and repeatedly post them under a series of false user names. You are incapable of original thought.
        You make posts making them appear to be in the names of respected posters. You are a liar and a fraud. The lowest of the low. Your mother must be proud.
        The false names you have used recently include:

        Firtst 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.

        This is the reason this userforum has over 8000 posts! MOSTLY REPEAT SPAM POSTS!

        Repetitive spam posting using multiple user names by this troll.

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

      • MichaelE commented  ·   ·  Flag as inappropriate

        This VB6 thing must have some real juice to it if people have to keep logging into this forum with different names just to post fake news on it.

        @axisdj is right on, functionally VB6 can do everything .Net can.

        Nothing wrong with .Net though. Plenty of jobs there. I'd ask the professional .Net developers here to take the time to mentor those new .Net upstarts just how unprofessional trolling is.

      • Jon commented  ·   ·  Flag as inappropriate

        SPAM ALERT!!! **********************************************

        Spam posted by Troll "Zagor Tenay" aka "VB6Awards", "Kerry", "Amerigo Vespuci", "Jonathan", "The great Thinker", dogydog, Holycow, "Martin Philips", "Alberto Einstein", "Anonymous", "Mary", "Larry G", "Tony Pony" "A.Miranda", "LarsontheViking", "Ron Jeremy" and many, many others.

        The nonsensical post...
        >> "No one is going to use VB6 software. If it didn't happen 15 years ago, it won't happen now.
        The rules that applied then apply now. Companies do not pay to rewrite all their applications..."

        has been posted multiple times using multiple false user names:-

        Posted by "Amerigo Vespuci" November 5, 2017
        Posted by "VB6Awards" November 4, 2017
        Posted by "Kerry" October 25, 2017
        Posted by "Alberto Einstein" October 25, 2017
        Posted by "The king of programming world" October 25, 2017
        Posted by "Alberto Einstein" October 24, 2017
        Posted by "Anonymous" October 22, 2017
        Posted by "Anonymous" October 21, 2017
        Posted by "A.Miranda" August 3, 2016
        Posted by "LarsontheViking" August 3, 2016
        Posted by "LarsontheViking" July 15, 2016
        Posted by "LarsontheViking" July 14, 2016

        Repetitive spam posting using multiple user names by this troll.

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

      • Jon commented  ·   ·  Flag as inappropriate

        SPAM ALERT!!! **********************************************

        The post...
        >> "Visual Basic is not just a bad language -- it is a hideous jumble of traps and annoyances, a short step up from Intercal in usefulness..."

        Posted by "Amerigo Vespuci" November 5, 2017
        Posted by "VB6Awards" November 4, 2017
        Posted by "dogydog" November 3, 2017
        Posted by "Anonymous" November 2, 2017
        Posted by "Jonathan" October 29, 2017
        Posted by "Martin Philips" October 29, 2017
        Posted by "Amerigo Vespuci" October 24, 2017
        Posted by "Jerry Finigan" August 17, 2016
        Posted by "Jerry Finigan" August 11, 2016
        Posted by "Ron Jeremy" August 10, 2016
        Posted on August 7, 2016 disgracefully using the name "MichaelE" (a respected poster here).

        Spam posted by Troll "Zagor Tenay" aka "VB6Awards", "Kerry", "Amerigo Vespuci", "Jonathan", "The great Thinker", dogydog, Holycow, "Martin Philips", "Alberto Einstein", "Anonymous", "Mary", "Larry G", "Tony Pony" "A.Miranda", "LarsontheViking", "Ron Jeremy" and many, many others.

        You originally copied this post from Quora.
        Still not an original thought in your head, Zagor.
        Repetitive spam posting using multiple user names by this troll.

      • Jon commented  ·   ·  Flag as inappropriate

        @Kerry/Amerigo Vespuci/VB6 Awards

        Why do you keep repeating the same pastes over and over and over again?

        Why do you use many false usernames?

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

      • Amerigo Vespuci commented  ·   ·  Flag as inappropriate

        Agree 100% with Kerry

        I thought this is a free, democratic and liberal uservoice forum. We can post comments that we believe, even with repetition, as long as there is no swear words, personal attacks, non VB6 related topics, vulgarity, obscenity etc.
        We are all free to express ourselves! You post continuously the same REPETITIVE posts praising VB6 in "multiple" Uservoice forums thus others are entitled to posts stuff what they think of VB6 as well. And then you have the guts to call others Trolls and Spammers when they do EXACTLY what you do. This is NOT a one-way road my friend! You become bitter when you taste the EXACT same medicine. It's called instant karma.

      • Amerigo Vespuci commented  ·   ·  Flag as inappropriate

        Visual Basic is not just a bad language -- it is a hideous jumble of traps and annoyances, a short step up from Intercal in usefulness.
        1. 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. 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. 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. 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).
        Any of these would be a show-stopper for serious consideration of VB. (3) is the most painful to deal with, but I guess (4) is actually the most serious.

      • Amerigo Vespuci commented  ·   ·  Flag as inappropriate

        No one is going to use VB6 software. If it didn't happen 15 years ago, it won't happen now.
        The rules that applied then apply now. Companies do not pay to rewrite all their applications in the OLD and IRRELEVANT technology which does NOT function any longer.
        And VB6 applications generally run slower. It makes no sense.
        Only a developer living in an idealistic fantasy world thinks that and asked to bring back VB6.
        Some posters here have no knowledge or experience to understand why legacy applications SHOULD simply get rewritten in the latest and coolest technology, like NET. There are fundamental reasons why everyone is still talking about NET.
        Idealistic and simplistic notions of how organizations operate will not change that.

      • Amerigo Vespuci commented  ·   ·  Flag as inappropriate

        Now lets have a look at VB6
        -VB6 is slower than .NET
        -VB6 is as old as a dead horse. It does not run, it just sleeps.
        -VB6 is not a RAD it is cumbersome. Can't do enterprise apps.
        -VB6 has dependencies. Running on window is like trying to skate on sand.
        -VB6 is ugly. The IDE is outdated, the forms are of last century. They look soo primitive. Yack!
        etc.etc.etc........

      • Amerigo Vespuci commented  ·   ·  Flag as inappropriate

        The creation of a tool like VB6 was a very good lesson for the programming community and taught the programming world a good lesson that nobody should produce anything such as VB6 framework in the future. The reasons may be listed as follows:
        1- VB6 was a "patch-up" tool from the beginning. The VB6developers 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 VB6, 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 VB6 ecosystem started cracking and the collapse would have been imminent, ETC...
        2-The other factor that the VB6 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 VB6 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 VB.NET 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 VB6 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. VB.NET is the best choice for windows to do this. Ask any professional software developer and you will see that VB.NET is the most popular. It is an almost complete framework with huge user community and VB.NET programmers are highly in demand (and very, very well paid).). 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 VB6 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. That is the reason why Microsoft does not pursue it any longer.

      Feedback and Knowledge Base